Ruby

Rubyのmapメソッドの使い方例

Rubyのmapメソッドは便利でいろんな使い方があるのですが、その使用例を自分の備忘録も込めて残しておきます。

基本

p [1, 2, 3].map { |a| a * 2 } 
=> [2, 4, 6]

条件付きで

# 奇数の時のみ3倍にして配列に入れる
# 該当しない場合はnilを返す

p [1, 2, 3].map{ |a| a * 3 if a.odd? }    
=> [3, nil, 9]

selectメソッドで条件を絞って

# 奇数の時のみ3倍にして配列に入れる
# 上の条件付きと違う点は該当しない場合にnilを返さなくなる

p [1, 2, 3].select { |a| a.odd? }.map { |selected| selected * 3 }
=> [3, 9]