Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
この関数でマッピングが配列を変更しないのはなぜですか:
array[1..5].map! { |part| "<p>#{part}</p>" }
array[1..5] を結果に割り当てることができることはわかっていますが、おそらくもっと良い方法があります。
どうすればいいですか?
[](*引数) 指定されたオブジェクトが取り込まれた新しい配列を返します。 ソース
指定されたオブジェクトが取り込まれた新しい配列を返します。
ソース
したがって、map!実際の配列ではなく、その範囲の新しい配列に実際に適用しています。
map!
割り当てが必要です。
まあ、それは配列を変更します。配列を何にも割り当てないため、表示されていないだけなので、すぐにガベージコレクションが再び行われます。