23

ruby 1.9.3を使用すると、文字列キーはハッシュコロン表記では機能しないようです。

1.9.3p194 :005 > {abc: 5}
 => {:abc=>5} 

1.9.3p194 :004 > {'abc': 5}
SyntaxError: (irb):4: syntax error, unexpected ':', expecting tASSOC
{'abc': 5}
       ^

私はRubyの正しいバージョンを実行していると思います

1.9.3p194 :006 > RUBY_ENGINE
 => "ruby" 
1.9.3p194 :007 > RUBY_VERSION
 => "1.9.3" 
4

1 に答える 1

41

正解です。ハッシュの新しいコロン表記は、キーが記号の場合にのみ機能します。

申し訳ありませんが、その通りです。

更新:一般的な記号は、ruby 2.2以降の新しい表記法を使用してサポートされています(キーとしての文字列はまだサポートされていません):

irb
2.2.2 :001 > {'abc': 5}
=> {:abc=>5} 
于 2012-09-06T15:21:55.240 に答える