当我们在 Ruby 中定义 dict/hash 时,我们会这样做:
{:a => 'b'}
但我读了一些这样的 Ruby 代码:
{:a : 'b'}
这应该是类似 Python 的。有任何 Ruby 版本支持吗?我从未读过任何提到这一点的 Ruby 书籍。
更新:
我在 Linux 机器上运行了以下命令:
$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
$ ruby -e 'puts {a: "b"}'
-e:1: syntax error, unexpected ':', expecting '}'
puts {a: "b"}
^
并在我的 Macbook 上运行以下命令:
$ /Users/chaol/.rvm/wrappers/ruby-2.0.0-p247/ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.3.0]
$ /Users/chaol/.rvm/wrappers/ruby-2.0.0-p247/ruby -e 'puts {a: "b"}'
-e:1: syntax error, unexpected ':', expecting '}'
puts {a: "b"}
^
两个 Ruby 版本都是 1.9+,为什么我仍然得到错误?