38

Rubyのコロン:と太い矢印の違いは何ですか? =>または、いつ何を使用しますか?

:foo => true
foo: true
4

2 に答える 2

34

構文は Hash のキーと値のペアを定義するためのもので、Ruby のバージョンによって違いが異なります。

Ruby 1.8 と Ruby 1.9 の両方でサポート

:foo => true

Ruby 1.9 でのみサポート

foo: true

Ruby 1.9 で開発している場合は、おそらく次の構文を使用する必要があります。

foo: true

コミュニティが進んでいる方向のように見えるからです。

于 2011-11-20T01:49:13.220 に答える
8

後者は、1.9 で導入された新しいハッシュ構文です。たとえば、次を参照してください。

http://breakthebit.org/post/8453341914/ruby-1-9-and-the-new-hash-syntax

2 つの行が生成するハッシュは同一です。

于 2011-11-20T01:44:44.933 に答える