2

I am having trouble understanding this comment.

Array({:a => "a", :b => "b"}) #=> [[:a, "a"], [:b, "b"]]

Could you explain how it works in detail?

4

3 に答える 3

5

{:a => "a", :b => "b"}ハッシュを作成します。
これを に渡すとArray、配列の配列が作成されます。外側の配列の各配列要素は、ハッシュの 1 つの項目のキーと値を含む別の配列になります。

于 2013-03-04T14:46:42.790 に答える
5

メソッドはArrayハッシュを配列に変換します。
したがって、ハッシュの各エントリに対して、ruby は 2 つの要素 (キーとハッシュ内のエントリの値) を持つ配列を作成します。

配列には 2 つのエントリがあります。

:a => "a"どれになる[:a, "a"]
:b => "b"どれになる[:b, "b"]

于 2013-03-04T14:47:45.370 に答える
5

実はカーネルモジュールが提供するメソッドです。

最初に呼び出しto_ary(配列の自己を返す)を試み、次にto_a引数を試みます。

対応するメソッドto_aryおよびを使用しても同じ結果が得られますto_a

于 2013-03-04T14:52:30.397 に答える