我想插入多個哈希到一個數組中,該數組將創建一個哈希數組。但是每次我向數組添加一個新的散列值時,它都會覆蓋之前的散列值。任何想法是怎麼回事?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"}
我不知道爲什麼在第一哈希值進行覆蓋。任何幫助表示讚賞。
這也許會提供一些線索:'p partArray.map(:OBJECT_ID)' –
得到相同的哈希OBJECT_ID,具有不同的值。 {「name」=>「Item1」,「owner」=>「Item1」} [70094101888900] new Array is: {「name」=>「Item2」,「owner」=>「Item2」} { 「name」=>「Item2」,「owner」=>「Item2」} [70094101888900,70094101888900] – danynl