How to add new item to hash How to add new item to hash ruby ruby

How to add new item to hash


Create the hash:

hash = {:item1 => 1}

Add a new item to it:

hash[:item2] = 2


If you want to add new items from another hash - use merge method:

hash = {:item1 => 1}another_hash = {:item2 => 2, :item3 => 3}hash.merge(another_hash) # {:item1=>1, :item2=>2, :item3=>3}

In your specific case it could be:

hash = {:item1 => 1}hash.merge({:item2 => 2}) # {:item1=>1, :item2=>2}

but it's not wise to use it when you should to add just one element more.

Pay attention that merge will replace the values with the existing keys:

hash = {:item1 => 1}hash.merge({:item1 => 2}) # {:item1=>2}

exactly like hash[:item1] = 2

Also you should pay attention that merge method (of course) doesn't effect the original value of hash variable - it returns a new merged hash. If you want to replace the value of the hash variable then use merge! instead:

hash = {:item1 => 1}hash.merge!({:item2 => 2})# now hash == {:item1=>1, :item2=>2}


hash.store(key, value) - Stores a key-value pair in hash.

Example:

hash   #=> {"a"=>9, "b"=>200, "c"=>4}hash.store("d", 42) #=> 42hash   #=> {"a"=>9, "b"=>200, "c"=>4, "d"=>42}

Documentation