使用ruby 1.9.3,字符串键似乎不适用于Hash冒号表示法:
1.9.3p194 :005 > {abc: 5}
=> {:abc=>5}
1.9.3p194 :004 > {'abc': 5}
SyntaxError: (irb):4: syntax error, unexpected ':', expecting tASSOC
{'abc': 5}
^
Run Code Online (Sandbox Code Playgroud)
我想我正在运行正确版本的Ruby
1.9.3p194 :006 > RUBY_ENGINE
=> "ruby"
1.9.3p194 :007 > RUBY_VERSION
=> "1.9.3"
Run Code Online (Sandbox Code Playgroud)
Cho*_*ett 41
这是正确的 - 哈希的新冒号表示法仅在键是符号时才有效.
对不起,就是这样.
更新:通用符号所使用的新符号的红宝石2.2和更高版本支持(字符串作为键仍然没有):
irb
2.2.2 :001 > {'abc': 5}
=> {:abc=>5}
Run Code Online (Sandbox Code Playgroud)