【Rails】any?メソッドの使い方を解説

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

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