Ruby中的哈希语法

根据The Well Grounded Rubyist

Ruby允许在哈希键位置使用特殊forms的符号表示,在符号之后使用冒号而不是之前的冒号并删除哈希分隔符箭头。 换句话说,这个:

hash = { :name => "David", :age => 49 } 

也可以像这样写:

 hash = { name: David, age: 49 } 

我在ruby 1.8.7和1.9.2中尝试了前面的代码 – 它无法正常工作。 我究竟做错了什么?

Ruby 1.9中的新哈希语法仍然要求引用字符串,因此不需要"David"而是需要"David"

试试这个:

 hash = { name: "David", age: 49 } 

如果这本书使用了没有引号的David ,那就错了。 您可能有兴趣阅读其他一些勘误表 。