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#replace

(::hash[K, V] other) -> self
replace(other_hash) → self

Alias of #initialize_copy

Replaces the entire contents of self with the contents of other_hash; returns self:

Example
h = {foo: 0, bar: 1, baz: 2}
h.replace({bat: 3, bam: 4}) # => {bat: 3, bam: 4}

Also replaces the default value or proc of self with the default value or proc of other_hash.

Example
h = {}
other = Hash.new(:ok)
h.replace(other)
h.default # => :ok

Related: see Methods for Assigning.

See also #initialize_copy #reject! #select #reject also in 4.0 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0