Ruby 中的哈希语法
根据 The Well Grounded Rubyist 的说法:
Ruby 允许在哈希键位置使用特殊形式的符号表示,在符号后面而不是在符号之前使用冒号,并且删除哈希分隔符箭头。换句话说,这个:
hash = { :name => "David", :age => 49 }
也可以这样写:
hash = { name: David, age: 49 }
我已经在 ruby 1.8.7 和 1.9.2 中尝试了前面的代码 - 它不起作用。我做错了什么?
According to The Well Grounded Rubyist:
Ruby allows a special form of symbol representation in the hash-key position, with the colon after the symbol instead of before it and the hash separator arrow removed. In other words, this:
hash = { :name => "David", :age => 49 }
can also be written like this:
hash = { name: David, age: 49 }
I have tried the preceding code in ruby 1.8.7 and 1.9.2 - It is not working. What am I doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Ruby 1.9 中的新哈希语法仍然需要引用字符串,因此您需要
"David"
而不是David
。试试这个:
如果这本书使用了没有引号的裸词
David
,那么它是错误的。您可能有兴趣阅读一些其他勘误表。The new hash syntax in Ruby 1.9 still requires that strings be quoted, so instead of
David
you need"David"
.Try this:
If the book used the bare word
David
without quotation marks, it is wrong. You might be interested in reading some of the other errata.