Parent

Methods

String

Extension for String class. This feature is included in Ruby 1.9 or later but not occur TypeError.

String#% method which accept “named argument”. The translator can know the meaning of the msgids using “named argument” instead of %s/%d style.

Constants

PERCENT_MATCH_RE

Public Instance Methods

%(arg) %(hash) click to toggle source

Format - Uses str as a format specification, and returns the result of applying it to arg. If the format specification contains more than one substitution, then arg must be an Array containing the values to be substituted. See Kernel::sprintf for details of the format string. This is the default behavior of the String class.

  • arg: an Array or other class except Hash.

  • Returns: formatted String

 (e.g.) "%s, %s" % ["Masao", "Mutoh"]

Also you can use a Hash as the “named argument”. This is recommanded way for Ruby-GetText because the translators can understand the meanings of the msgids easily.

  • hash: {:key1 => value1, :key2 => value2, … }

  • Returns: formatted String

 (e.g.)
        For strings.
        "%{firstname}, %{familyname}" % {:firstname => "Masao", :familyname => "Mutoh"}

        With field type to specify format such as d(decimal), f(float),...
        "%<age>d, %<weight>.1f" % {:age => 10, :weight => 43.4}
    # File lib/gettext/core_ext/string.rb, line 53
53:   def %(args)
54:     if args.kind_of?(Hash)
55:       ret = dup
56:       ret.gsub!(PERCENT_MATCH_RE) {|match|
57:         if match == '%%'
58:           '%'
59:         elsif $1
60:           key = $1.to_sym
61:           args.has_key?(key) ? args[key] : match
62:         elsif $2
63:           key = $2.to_sym
64:           args.has_key?(key) ? sprintf("%#{$3}", args[key]) : match
65:         end
66:       }
67:       ret
68:     else
69:       ret = gsub(/%([{<])/, '%%\1')
70:       begin
71:         ret._old_format_m(args)
72:       rescue ArgumentError => e
73:         if $DEBUG
74:           $stderr.puts "  The string:#{ret}"
75:           $stderr.puts "  args:#{args.inspect}"
76:           puts e.backtrace
77:         else
78:           raise ArgumentError, e.message
79:         end
80:       end
81:     end
82:   end
Also aliased as: _old_format_m
_old_format_m(args) click to toggle source
Alias for: %

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.