0

我来自 Perl 背景并学习 Ruby。我对 Ruby 的哈希语法有点困惑。

我指的是http://www.ruby-doc.org/core-2.0/Hash.html上给出的示例

对于上面链接中提到的替代语法,我的 Ruby 会引发语法错误。

此代码工作正常:

#!/usr/bin/ruby
options = { :font_size => 10, :font_family => "Arial" }
puts options[:font_size]

然而,此代码会引发语法错误:

#!/usr/bin/ruby
options = { font_size: 10, font_family: "Arial" }
puts options[:font_size]

错误是:

/home/workspace/ruby/so.rb:3: odd number list for Hash
options = { font_size: 10, font_family: "Arial" }

但是,上面粘贴的链接说它应该可以工作。

你能指导我这里缺少什么吗?还是我忽略了一些明显的东西?

顺便说一句,这是我正在使用的 Ruby 版本:

# ruby --version
ruby 1.8.7 (2010-01-10 patchlevel 249) [i486-linux]
4

2 回答 2

4

该语法仅适用于 Ruby 1.9 或更高版本。

请注意,您引用的页面标题中显示“Ruby 2.0”。

于 2013-07-29T04:38:40.060 回答
2

该语法是在 Ruby 1.9 中引入的。您使用的是早于该版本的版本。你不应该再使用 Ruby 1.8。看看这个页面:http ://www.ruby-lang.org/en/news/2013/06/30/we-retire-1-8-7/ 。

于 2013-07-29T04:38:16.287 回答