Array#each が同じ要素を含む配列を返すのはなぜですか?
概要
私は Ruby でそれぞれがどのように機能するかの詳細を学んでいるので、次のコード行を試してみました。
p [1,2,3,4,5].each { |element| el }
そして結果は次の配列になります
[1,2,3,4,5]
それぞれの配列の戻り値が同じなのはなぜですか?それぞれは反復処理のメソッドを提供するだけではありませんか?それとも、各メソッドが元の値を返すのが一般的な慣例なのでしょうか?
解決策
Array#each は、それが呼び出された [array] オブジェクトを返します。ブロックの結果は破棄されます。したがって、元の配列に厄介な副作用がない場合は、何も変更されません。
おそらく地図を使用するつもりですか?
p [1,2,3,4,5].map { |i| i*i }