Ruby Recipe106 配列から条件を満たす要素を取得する

配列からとある条件で要素を取得する方法。

条件にマッチする初めての要素を取得(単数)

条件にマッチする初めての要素を取得するには、
Array#findに条件のブロックを渡します。
※ Array#detectとは名前が違うだけで同じ動作をします。

ary = 1..10

# 最初の偶数を探す
val = ary.find{|elem| elem%2==0 }
p val        #=> 2
条件にマッチする全ての要素を取得(複数)

また、条件にマッチする全の要素を取得するには、
Array#selectに条件のブロックを渡します。
※ Array#find_allとは名前が違うだけで同じ動作をします。

# 偶数を全て探す
val2 = ary.select{|elem| elem%2==0 }
p val2        #=> [2, 4, 6, 8, 10]

Rubyレシピブック 第3版 303の技

Rubyレシピブック 第3版 303の技