2013-05-01 8 views
8

私は使用すべきですか?Ruby 2.0の正しいハッシュ構文は何ですか?

{ :first_name => "Mathieu", :last_name => "Jackson" } 

または

{ first_name: "Mathieu", last_name: "Jackson" } 
+0

オリジナルは後者に置き換えることができます。そうでない場合は、構文エラーが表示されます。 –

+1

@澤OPさんは何がうまくいくのか、何を使うべきかを尋ねていません。おそらくオフトピックですが、それだけです。 –

+0

@DaveNewtonあなたはテキストに関しては正しいですが、タイトルを見ると、それは何がうまくいくのかを尋ねています。 – sawa

答えて

1

はあなたが望むものを使用してください。そこには神聖な意味はありません。しかし、一様に使用することを強く推奨します。

2

"should"はありません。

シンボルとして値がない限り、私は1.9の構文が好きです。それは愚かに見えます。

これは私が一様に使用しないことを意味します。つまり、ハッシュ値が–であるかどうかに依存しますが、私は常に同じスタイルを1つの即時ハッシュで使用します。

7

この2つの間に違いはないので、個人的な好みです。 2.0の新しいコードを書いているほとんどの人は、2番目のフォーマットを使用すると思います。

オープンソース/公開用に開発していて、幅広いユーザー層が必要な場合は、「古い」スタイルのハッシュを使用する必要があります。 Ruby 1.8.xは、RMIとは別にJRubyやその他のRuby実装と同様に、簡潔な構文をサポートしていません。

+0

JRubyはa => 1構文iirc – poseid

+0

をサポートしています。 0の簡潔な構文がデフォルト(1.9モード)になっていましたが、以前のバージョンでは以前のスタイルのハッシュが使用されていました。 –

2

下位互換性を求める場合は、最初のものを使用してください。しかし、第二のものはより清潔です。

関連する問題