pushおよびmapメソッドについて

pushメソッド

pushメソッドとは

配列の末尾に引数を要素として追加するメソッド 要素は複数指定することもでき,その場合は指定した順番に要素に追加されていく. pushメソッドはレシーバーであるオブジェクトを変更してしまうため破壊的メソッドという.

pushメソッドの使い方

オブジェクト.push("要素")

a = ["hoge1", "hoge2"]
puts a.push("hoge3")

=>["hoge1", "hoge2", "hoge3"]

mapメソッド

mapメソッドとは

繰り返し処理をした結果を配列として保持することができるメソッド

mapメソッドの使い方

nums = [2, 3, 8]

result = nums.map do |num|
  num * 2
end

=>[4, 6, 16]

繰り返し処理にはeachメソッドもあるが,eachメソッドを使用した場合 繰り返し処理の結果を戻り値とすることはできない. 戻り値に結果を得たい場合は記述量が増えることになる.

nums = [2, 3, 8]

nums.each do |num|
  num * 2
end

=>[2, 3, 8]
nums = [2, 3, 8]
result = []

nums.each do |num|
  result << num * 2
end

=>[4, 6, 16]

繰り返し処理の結果を使うかどうかでmapメソッドとeachメソッドを使い分けていく.

techacademy.jp

qiita.com