配列から条件を満たす要素を取得する
配列から条件を満たす要素を取得するには、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]