Ruby 中的哈希语法

发布于 2024-10-09 10:35:03 字数 328 浏览 8 评论 0原文

根据 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

何以笙箫默 2024-10-16 10:35:03

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

试试这个:

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

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

The new hash syntax in Ruby 1.9 still requires that strings be quoted, so instead of David you need "David".

Try this:

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

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文