Rubyリファレンス: Home

none? (Enumerable)

Edit   History

Ruby 1.8.7 Ruby 1.9

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

enum.none? {|item| block }

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

次の例は、配列の要素がすべて10文字以下かどうかを調べます。

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

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

words = [nil, nil, false]
puts words.none?
true

関連項目