0

この関数でマッピングが配列を変更しないのはなぜですか:

array[1..5].map! { |part| "<p>#{part}</p>" }

array[1..5] を結果に割り当てることができることはわかっていますが、おそらくもっと良い方法があります。

どうすればいいですか?

4

2 に答える 2

4

[](*引数)

指定されたオブジェクトが取り込まれた新しい配列を返します。

ソース

したがって、map!実際の配列ではなく、その範囲の新しい配列に実際に適用しています。

割り当てが必要です。

于 2012-08-17T12:41:45.553 に答える
3

まあ、それ配列を変更します。配列を何にも割り当てないため、表示されていないだけなので、すぐにガベージコレクションが再び行われます。

于 2012-08-17T12:42:30.767 に答える