配列の要素を検索するメソッド
配列に対しての操作に便利なメソッドをまとめていきます。
detect
ブロックを各要素に対して実行し、戻り値が最初に真になったものを返す
number = %w(1 2 3 4 5 6 7 8 9 10).map(&:to_i) number.detect(&:even?) => 2
select
ブロックを書く要素に対して実行し、ブロックの戻り値が真となった要素すべてを返す
number.select(&:even?) => [2, 4, 6, 8, 10]
ブロックを書く要素に対して実行し、ブロックの戻り値が偽となった要素すべてを返す
number.reject(&:even?) => [1, 3, 5, 7, 9]
take
先頭から任意の数の要素を配列として返してくれる。
number.take(3) => [1, 2, 3]
まとめ
知っておくと便利