select
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
p numbers.select {|item| item % 2 == 0 }
出力
[2, 4, 6, 8]
select_hash
バリュー軸
scores = { 'Alice' => 50, 'Bob' => 60, 'Carol' => 90, 'David' => 40 }
p scores.select {|k, v| v >= 60 }
出力
[["Bob", 60], ["Carol", 90]] (Ruby 1.8の場合)
キー軸
p scores.select {|k, v| k == 'Alice' }
出力
{"Alice"=>50}
map
numbers = ["68", "65", "6C", "6C", "6F"]
p numbers.map {|item| item.to_i(16) }
出力
[104, 101, 108, 108, 111]
selectとmapの掛け算
select&map
scores = { 'Alice' => 50, 'Bob' => 60, 'Carol' => 90, 'David' => 40 , 'joy' => 80}
p scores.select {|k, v| v >= 60 }.map{|m| m[1]}
出力
[60, 90, 80]