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+ ですが、それでもエラーが発生するのはなぜですか?