配列の要素を検索するメソッド

配列に対しての操作に便利なメソッドをまとめていきます。

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]

reject

ブロックを書く要素に対して実行し、ブロックの戻り値が偽となった要素すべてを返す

number.reject(&:even?) => [1, 3, 5, 7, 9]

take

先頭から任意の数の要素を配列として返してくれる。

number.take(3) => [1, 2, 3]

まとめ

知っておくと便利