dev/mom0tomo

技術メモ

Rubyのmapとeachの違い

読んだもの

manji602.hatenablog.com

すごくわかりやすかった。

学んだこと

each

eachはレシーバ自身が返る。

def each_sample
  (1..10).to_a.each do |i|
    i + 10
  end
end

=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

レシーバ i が返っており、インクリメントはされていない。

map

mapはブロックの戻り値を集めて返す。

def map_sample
  (1..10).to_a.map do |i|
    i + 10
  end
end

=> [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]