Я хочу вставить несколько хэшей в массив, который создаст массив хэшей. Но каждый раз, когда я добавляю новый хэш в массив, он перезаписывает предыдущие. Любая идея, что происходит?ruby - Вставка нескольких хэшей в массив в ruby
partArray = []
partHash = {}
partHash["name"] = "Item1"
partHash["owner"] = "Item1"
#Insert first hash into array
partArray << partHash
puts partArray
#new set of key, value pairs
#to be appended to array
partHash["name"] = "Item2"
partHash["owner"] = "Item2"
#Append second hash into array
partArray << partHash
puts partArray
выход:
{"name"=>"Item1", "owner"=>"Item1"}
new Array is :
{"name"=>"Item2", "owner"=>"Item2"}
{"name"=>"Item2", "owner"=>"Item2"}
Я не знаю, почему значения в первом хэша были перезаписаны. Любая помощь приветствуется.
, возможно, это будет пролить некоторый свет: 'р partArray.map (&: object_id)' –
получать тот же хэш object_id с различными значениями. {"name" => "Item1", "owner" => "Item1"} [70094101888900] новый Array is: {"name" => "Item2", "owner" => "Item2"} { "name" => "Item2", "owner" => "Item2"} [70094101888900, 70094101888900] – danynl