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]