Skip to content

Maintenance Ruby 3.3 gets fixes, but no new features. Switch to Ruby 4.0 →

instance method

Array#any?

array.any? → true or false
array.any? {|element| ... } → true or false
array.any?(obj) → true or false

Returns true if any element of self meets a given criterion.

If self has no element, returns false and argument or block are not used.

With no block given and no argument, returns true if self has any truthy element, false otherwise:

Example
[nil, 0, false].any? # => true
[nil, false].any? # => false
[].any? # => false

With a block given and no argument, calls the block with each element in self; returns true if the block returns any truthy value, false otherwise:

Example
[0, 1, 2].any? {|element| element > 1 } # => true
[0, 1, 2].any? {|element| element > 2 } # => false

If argument obj is given, returns true if obj.=== any element, false otherwise:

Example
['food', 'drink'].any?(/foo/) # => true
['food', 'drink'].any?(/bar/) # => false
[].any?(/foo/) # => false
[0, 1, 2].any?(1) # => true
[0, 1, 2].any?(3) # => false

Related: Enumerable#any?

See also #all? #append #abbrev #assoc also in 4.1 · 4.0 · 3.4 · 3.2 · 3.1 · 3.0