Ruby Tips!

RubyのTipsを紹介します

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

配列から条件を満たす要素を取得するには、Array#findまたはArray#detectを使う。
これらのメソッドは、ブロックを評価して真になる最初の要素を返す。

a = [1, 2, 3, 4, 5]
p a.find{|v| v % 2 == 0 } #=> 2
p a.detect{|v| v % 2 == 0 } #=> 2

条件を満たす要素をすべて配列として取得するにはArray#selectまたはArray#find_allを使う。
これらのメソッドは、ブロックを評価して真になる要素をまとめて配列として返す。

a = [1, 2, 3, 4, 5]
p a.select{|v| v % 2 == 0 } #=> [2, 4]
p a.find_all{|v| v % 2 == 0 } #=> [2, 4]