🥴

【Ruby】eachとmapは違うよ!動くけど!

2022/11/24に公開

初めに

eachでもmapでも動くコードに当たって、違いを学んだので備忘録です。

結論

どちらも繰り返し処理だが、mapは結果を配列として保持する。

each

要素を単数でループさせます。戻り値はレシーバの配列です。

array = [1, 2, 3]
array.each do |x|
  pp x + 1
end
2
3
4
=> [1, 2, 3]

map

要素をいじってから、配列で返します。戻り値は変化した配列です。

array = [1, 2, 3]
array.map do |x|
  x + 1
end
=> [2, 3, 4]

Discussion