よく引用されている RIP Hash rocket post は、Hash Rocket構文(:foo => "bar"
)は、Rubyの新しいJSONスタイルのハッシュ(foo: "bar"
)、しかし、Ruby 1.9。
そのブログ投稿の著者は、過度に劇的で愚かであり、=>
は 静止かなり必要 です。特に:
:'where.is' => x
は有効ですが、'where.is': x
は違います。 Ruby 2.2はこの問題を修正したため、'where.is': x
in Ruby 2.2+。:$set => x
は有効ですが、$set: x
は違います。 Ruby 2.2+では、引用符でこの問題を回避できます:'$set': x
は、正しいことを行います。's' => x
は有効ですが、's': x
はまったく異なるものです。もちろん、明白な方法で上記のことを細かく調べることができます。
h = { }
h[:'where.is'] = 'pancakes house?'
# etc.
しかし、それはjustいだけで不必要です。
ロケットは、Rubyのハッシュを損なうことなくどこにも行きません。