根据 The Well Grounded Rubyist :
Ruby允许在哈希键位置使用特殊形式的符号表示,在符号后面加冒号而不是在它之前删除哈希分隔符箭头。换句话说,这个:
hash = { :name => "David", :age => 49 }
也可以这样写:
hash = { name: David, age: 49 }
我在ruby 1.8.7和1.9.2中尝试了上面的代码 - 它无法正常工作。我做错了什么?
答案 0 :(得分:38)
Ruby 1.9中的新哈希语法仍然需要引用字符串,因此您需要David
而不是"David"
。
试试这个:
hash = { name: "David", age: 49 }
如果这本书使用了没有引号的单词David
,那就错了。您可能有兴趣阅读一些other errata。