[Ruby]findメソッドで配列(array)の要素を条件で検索して取り出すには?

Ruby

どうも、ちょげ(@chogetarou)です。

findメソッドを使って配列(array)の要素を条件で検索して取り出す方法を紹介します。

スポンサーリンク

方法

findメソッドを使って配列(array)の要素を条件で検索して取り出すには、ブロックを使います。

まず、配列からfindメソッドを呼び出します。

findメソッドのブロックで、取り出す要素の条件式を返します。

findメソッドのブロック内では、引数で配列の要素を取得します。

#arr=対象の配列, condition=条件式
result = arr.find { |item| condition }

上記のfindメソッドは、条件式で配列内の要素を検索し、条件式でtrueを返した最初の要素を取り出します。

findをdetectに変えた場合でも、同じ結果が得られます。

使用例

numbers = [1, 2, 3, 4, 5, 6, 7, 8]

result = numbers.find { |item| item % 2 == 0}

p result
出力:
2

コメント

タイトルとURLをコピーしました