Rubyリファレンス: Home

any? (Enumerable)

Edit   History

標準クラス・モジュール > Enumerable > any?

enum.any? {|item| block }

all?メソッドは、ブロック引数itemに要素を入れながらブロックを繰り返し実行し、ブロックが真が返したときは繰り返しを中断してtrueを返します。ブロックの戻り値がすべて偽であるとき、あるいはレシーバが空であるときにはfalseを返します。

次の例は、配列の要素に10文字以上の文字列があるかどうかを調べます。

words1 = ["dog", "cat", "mouse", "pig"]
puts words1.any? {|w| w.size > 10 }
 
words2 = ["dog", "hippopotamus", "mouse", "pig"]
puts words2.any? {|w| w.size > 10 }
false
true

ブロックを省略したときは、要素の中に1つでも真があればtrueを返します。要素がすべて偽であるとき、あるいはレシーバが空であるときにはfalseを返します。

words = [nil, nil, "mouse", nil]
puts words.any?
true

関連項目