0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

any? メソッドとは

配列の要素が、全ての場合、falseを返します。
一つでもの要素があれば、trueを返すメソッドになります。

p [nil, true, 99].any? # => true
p [nil, false, 99].any? # => false

ブロックを使用する

ブロックを伴う場合は、各要素に評価され、全ての場合、falseを返します。
評価の時点で真を返した時点で、trueを返します。

p [5, 10].any? {|v| v > 20 } # => false
p [5, 10].any? {|v| v > 6 } # => true

引数を使用する

引数を渡して、処理することもできます。

ブロックと同じで、引数で渡したオブジェクトと各要素が一致するか評価され、全ての場合、falseを返します。
評価の時点で真を返した時点で、trueを返します。

p [false, 100].any?(String) # => false
p ['test', 100].any?(String) # => true

正規表現も引数で渡せる

引数で、正規表現も使用することができます。
評価は、上記と変わらないです。

p ['hoge', 'fuga'].any?(/\d/) # => false
p ['hoge', '999'].any?(/\d/) # => true

まとめ

要素を評価して、真偽値を返してくれる、非常に便利なメソッドになります。
おそらくRailsでは、if文などの条件式に使用することが想定されます。

皆さんの参考になれば、幸いです。
最後までご覧いただき、ありがとうございました。

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?