当我们在 Ruby中定义dict / hash时,我们这样做: {:a = 'b'} 但我读了一些像这样的Ruby代码: {:a : 'b'} 这应该是类似Python的.任何Ruby版本都支持吗?我没有读过任何提到的Ruby书. 更新: 我在
{: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,为什么我仍然会收到错误?
第二个示例中的正确语法是:{ a: 'b' }
这是Ruby 1.9及更高版本的新功能,允许将JSON-ish语法用于Ruby哈希.
