<分区>
根据 The Well Grounded Rubyist 的说法:
Ruby 允许在散列键位置使用特殊形式的符号表示,冒号位于符号之后而不是之前,并且删除了散列分隔符箭头。换句话说,这:
hash = { :name => "David", :age => 49 }
也可以这样写:
hash = { name: David, age: 49 }
我已经在 ruby 1.8.7 和 1.9.2 中尝试了前面的代码 - 它不起作用。我做错了什么?
标签 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 中尝试了前面的代码 - 它不起作用。我做错了什么?
最佳答案
Ruby 1.9 中新的哈希语法仍然需要引用字符串,因此您需要 "David"
而不是 David
。
试试这个:
hash = { name: "David", age: 49 }
如果本书使用了没有引号的裸词David
,那是错误的。您可能有兴趣阅读一些 other errata .
关于ruby - Ruby 中的哈希语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4563766/