Ruby中的哈希语法

时间:2010-12-30 15:20:15

标签: ruby hash syntax-error

根据 The Well Grounded Rubyist

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

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

也可以这样写:

hash = { name: David, age: 49 }

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

1 个答案:

答案 0 :(得分:38)

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

试试这个:

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

如果这本书使用了没有引号的单词David,那就错了。您可能有兴趣阅读一些other errata