There is a weird issue with Ruby 1.9.2\'s new hash syntax. How can I put any Object as key in hash in 1.9.2?
in 1.8.7 hash it works:
a=\"b\"
{\"a\" =>
In Ruby 1.9 you are allowed to put colon :
only after symbols that are used as keys!
Any object can use the arrow =>
, even symbols.
To say this another way, the new feature isn't a new general hash syntax, it's a specific tweak for writing hashes where the keys are symbol literals. {a: 1}
is just a shortcut for {:a => 1}
, and that's all. If you have anything else as keys, you have to use the regular syntax.