mapメソッドについて
mapメソッドとは、各要素に対してブロックを評価した結果を新しい配列にして返します。
エイリアスメソッドは、collectメソッドです。
(例)配列の各要素を3倍にした新しい配列を作るコード
numbers = [1,2,3]
new_numbers = []
numbers.each { |n| new_numbers << n * 3 }
new_numbers #=> [3, 6, 9]
mapメソッドを使用すると、ブロックの戻り値が配列の要素となる新しい配列が作成されるため、mapメソッドの戻り値をそのまま新しい変数に入れることができます。
numbers = [1,2,3]
# ブロックの戻り値が新しい配列の各要素になる
new_numbers = numbers.map { |n| n * 3 }
new_numbers #=> [3, 6, 9]
このように、mapメソッドを使用することで、空の配列を用意して他の配列をループ処理した結果を空の配列に詰め込んでいくような処理の大半を置き換えることができます。