any?メソッドとは
配列などの要素に一つでも真の値があれば、trueを返します。
逆に全て偽の値であればfalseを返します。any?はこういうメソッドです。
ブロックが伴う場合は条件も付与することができます。
オブジェクト.any?
#ブロックを伴う場合
オブジェクト.any? {|ブロック引数| 条件}
*Rubyの場合は、nil,falseは偽でそれ以外は真になります。
参考例
#①
[nil, false].any?
=> false
#②
[nil, false, 30].any?
=> true
#③
[].any?
=> false
①真がひとつもないのでfalse
②真の値(30)が一つあるのでtrue
③空の配列に対してany?を使うと、falseが返ってくる。
#ブロック引数を使用①
[1, 3, 5].any? { |i| i > 10 }
=> false
#ブロック引数を使用②
[1, 3, 5].any? { |i| i == 5 }
=> true
#引数を使用③
[1, 3, 5].any?(3)
=> true
#引数を使用④
['1', '3', '5'].any?(Integer)
=> false
①10以上の値はひとつもないのでfalse
②5と等しい値は一つあるのでtrue
③引数の値(3)と同じ値があるかを確認しているので、true
④引数には型も取ることができ、Integerを指定すると、今回は数値はなく文字列しかないためfalse