From: Ryan Davis Date: 2007-12-31T17:10:34+09:00 Subject: Re: String#% and a Hash On Dec 30, 2007, at 23:34 , Daniel Brumbaugh Keeney wrote: > Ruby1.9 doesn't seem to accept hashes in the String#% method anymore. > I use this a lot in conjunction with gettext[1], and am basically > wondering if this is a language change or a 1.9 bug. It doesn't appear > to be documented in Ruby1.8 or Ruby1.9. Thanks. Did it ever? I think you're referring to this, right? > Also you can write as: > _("%{filename} was not found") % {:filename => "foo.rb"} > _("%{filename1} and %{filename2} is not same file") % {:filename1 => > "foo.rb", > :filename2 => > "bar.rb"} > _("%{filename} is %{filesize} byte") % {:filename => "foo.rb", > :filesize => 100} that looks like a gettext extension of String#%, not part of 1.8 core: > >> s = '%{a}'; s.%("a" => 42) > ArgumentError: malformed format string - %{ > from (irb):8:in `%' > from (irb):8 I know it works this way in python, and it is actually pretty nice.