101

よく引用されているRIPHashロケットの投稿は、Hash Rocket構文(:foo => "bar")が廃止され、新しいRuby JSONスタイルのハッシュ()が採用されていることを示唆しているようですが、HashRocketのfoo: "bar"形式を示す明確な参照は見つかりません。 Ruby 1.9の時点で、実際には非推奨/非推奨です。

4

1 に答える 1

138

そのブログ投稿の作者は過度に劇的で愚かです、それ =>まだ かなり 必要です。特に:

  1. 有効なラベルではないシンボルにはロケットを使用する必要があります::$set => x有効ですが無効です$set: x。Ruby 2.2以降では、この問題を引用符で回避できます'$set': x。正しいことを実行します。

  2. 文字列、整数、定数などの記号ではないキーをハッシュで使用する場合は、ロケットを使用する必要があります。たとえば、's' => xは有効ですが、's': xまったく異なるものです。

もちろん、上記のことを明白な方法で理解することができます。

h = { }
h[:'where.is'] = 'pancakes house?'
# etc.

しかし、それは醜くて不必要です。

ロケットはRubyのハッシュを壊さずにどこにも行きません。

于 2012-04-04T02:54:36.370 に答える