【Ruby3.x】Array::any?()メソッドの使い方
any?メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
any?メソッドは、Arrayクラスのインスタンスである配列の要素に対して、その中に特定の条件を満たすものが一つでも存在するかどうかを確認するメソッドです。
このメソッドは、ブロックを渡すかどうかで動作が異なります。まず、ブロックを渡さずにany?メソッドを呼び出す場合についてです。このとき、配列の中にnilでもfalseでもない「真」と評価される要素が一つでもあればtrueを返します。配列が完全に空である場合や、すべての要素がnilまたはfalseである場合はfalseを返します。
次に、ブロックを渡してany?メソッドを呼び出す場合です。この場合、配列の各要素は順番にブロックに渡されて評価されます。その評価結果がtrueとなる要素が配列内に一つでも見つかれば、メソッドは直ちにtrueを返します。もし、すべての要素を評価しても、ブロックがtrueを返す要素が一つもなければfalseを返します。
any?メソッドは、配列内に特定の条件に合致するデータが存在するかどうかを手軽に判定したい場面で非常に便利です。例えば、「未処理の項目が一つでも存在するかどうか」や、「特定の条件を満たすユーザーが一人でもいるか」といった状況の確認に活用できます。
構文(syntax)
1[1, 2, 3, 4, 5].any? { |element| element > 3 }
引数(parameters)
pattern = nil
- pattern = nil: 配列の要素が、指定されたパターンに一致するかどうかを判定するためのパターン。パターンには、正規表現、文字列、数値、またはProcオブジェクトを指定できます。
戻り値(return)
Boolean
与えられたブロックが配列のいずれかの要素に対して真を返した場合、trueを返します。一つでも条件に合致する要素があればtrueを返しますが、すべての要素で偽を返した場合はfalseを返します。