-1

書き方に違いはありますか

parameter: "String"

そしてより長い

:parameter => "String"
4

4 に答える 4

4

最初のものはRuby 1.8では機能しません

于 2013-03-24T17:41:15.633 に答える
2

どちらもハッシュのキーと値のペアを構築します。ほとんどの場合、それらは交換可能です。この構文は Ruby 1.9 で導入され、 JSONparameter: "String"をモデルにしています。

いくつかの違い/落とし穴があります。最大の問題は、新しい構文が引用符で囲まれたキーを処理しないことです。1.8 スタイルのハッシュでは、次のことができます。

:"multi word key" => some_value

1.9 スタイルのハッシュでは、これは構文エラーです。

"multi word key": some_value
于 2013-03-24T17:45:45.460 に答える
0

それは単なる構文のSugarです。

Ruby 1.8.7 で irb を見ると

1.8.7 :004 > {:name => 'String'}
 => {:name=>"String"}

そして1.9.3で

1.9.3p392 :002 > {name: 'String'}
 => {:name=>"String"} 

どちらも同じ形式を返します。

于 2013-03-24T20:41:49.760 に答える
0

変わりはない。

簡単な概要を説明するときに見やすいと思うので、2 番目の構文を好みます。

Ruby 1.9.x および 2.0.0 の場合

于 2013-03-24T17:39:21.830 に答える