Class | String |
In: |
lib/gettext/string.rb
|
Parent: | Object |
% | -> | _old_format_m |
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.
(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.
(e.g.) "%{firstname}, %{familyname}" % {:firstname => "Masao", :familyname => "Mutoh"}
# File lib/gettext/string.rb, line 37 37: def %(args) 38: if args.kind_of?(Hash) 39: ret = dup 40: args.each {|key, value| 41: ret.gsub!(/\%\{#{key}\}/, value.to_s) 42: } 43: ret 44: else 45: ret = gsub(/%\{/, '%%{') 46: begin 47: ret._old_format_m(args) 48: rescue ArgumentError => e 49: if $DEBUG 50: $stderr.puts " The string:#{ret}" 51: $stderr.puts " args:#{args.inspect}" 52: puts e.backtrace 53: else 54: raise ArgumentError, e.message 55: end 56: end 57: end 58: end