Skip to content

Preview Ruby 4.1 is a preview. It can change before the final release. Switch to Ruby 4.0 →

instance method

Hash#<

(::hash[untyped, untyped] other_hash) -> bool
self < other → true or false

Returns whether the entries of self are a proper subset of the entries of other:

Example
h = {foo: 0, bar: 1}
h < {foo: 0, bar: 1, baz: 2} # => true   # Proper subset.
h < {baz: 2, bar: 1, foo: 0} # => true   # Order may differ.
h < h                        # => false  # Not a proper subset.
h < {bar: 1, foo: 0}         # => false  # Not a proper subset.
h < {foo: 0, bat: 1, baz: 2} # => false  # Different key.
h < {foo: 0, bar: 3, baz: 2} # => false  # Different value.

See Hash Inclusion.

Raises TypeError if other_hash is not a hash and cannot be converted to a hash.

Related: see Methods for Comparing.

See also #<= .try_convert .ruby2_keywords_hash? #== also in 4.0 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0