Skip to content

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

instance method

Hash#any?

hash.any? → true or false
hash.any?(object) → true or false
hash.any? {|key, value| ... } → true or false

Returns true if any element satisfies a given criterion; false otherwise.

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

With no argument and no block, returns true if self is non-empty; false if empty.

With argument object and no block, returns true if for any key key h.assoc(key) == object:

Example
h = {foo: 0, bar: 1, baz: 2}
h.any?([:bar, 1]) # => true
h.any?([:bar, 0]) # => false
h.any?([:baz, 1]) # => false

With no argument and a block, calls the block with each key-value pair; returns true if the block returns any truthy value, false otherwise:

Example
h = {foo: 0, bar: 1, baz: 2}
h.any? {|key, value| value < 3 } # => true
h.any? {|key, value| value > 3 } # => false

Related: Enumerable#any?

See also #[]= #assoc #[] #clear also in 4.1 · 4.0 · 3.4 · 3.2 · 3.1 · 3.0