Jika Anda ingin menambahkan item baru dari merge
metode hash lain - gunakan :
hash = {:item1 => 1}
another_hash = {:item2 => 2, :item3 => 3}
hash.merge(another_hash) # {:item1=>1, :item2=>2, :item3=>3}
Dalam kasus spesifik Anda itu bisa:
hash = {:item1 => 1}
hash.merge({:item2 => 2}) # {:item1=>1, :item2=>2}
tetapi tidak bijaksana untuk menggunakannya ketika Anda harus menambahkan hanya satu elemen lagi.
Perhatikan yang merge
akan mengganti nilai dengan kunci yang ada:
hash = {:item1 => 1}
hash.merge({:item1 => 2}) # {:item1=>2}
tepat seperti hash[:item1] = 2
Anda juga harus memperhatikan bahwa merge
metode (tentu saja) tidak mempengaruhi nilai asli dari variabel hash - ia mengembalikan hash yang baru digabung. Jika Anda ingin mengganti nilai variabel hash, gunakan merge!
sebaliknya:
hash = {:item1 => 1}
hash.merge!({:item2 => 2})
# now hash == {:item1=>1, :item2=>2}
hash.merge!(item2: 2)
untuk menggabungkan dan menyimpan nilai !