2017-08-31 17 views
-1
array = Array.new 
y = Hash.new 
x = Hash.new 
y["First"] = "Moses" 
y["Last"] = "Kim" 
x["First"] = "John" 
x["Last"] = "Snow" 
array.push(y) 
array.push(x) 

p array 



hash = Hash.new 
hash['listing'] = Hash.new 
y = array.each do |a| 
    a.each do |key,value| 
    hash['listing'][key] = value 
    end 
end 

p hash 

我想數據是這樣的:你如何瀏覽一組鍵和值對,然後將它們分配給一個新的Hash對象?

{ listing: { First: Moses, Last: Kim}, { First: John, Last: Snow}} 
+0

的方式,你想數據是不是一個有效的散列。第二個值不是關鍵值對。你想每個條目都有':listing'這個鍵嗎?這當然不會起作用... –

+0

原始的「鍵和值對數組」是什麼樣的? –

回答

1

{ listing: { First: Moses, Last: Kim}, { First: John, Last: Snow}}無效。

子哈希需要在一個數組: { listing: [{ First: Moses, Last: Kim}, { First: John, Last: Snow}]}

這可以從你構建代碼:

array = Array.new 
y = Hash.new 
x = Hash.new 
y["First"] = "Moses" 
y["Last"] = "Kim" 
x["First"] = "John" 
x["Last"] = "Snow" 
array.push(y) 
array.push(x) 
{ listing: array } 

或者只是 { listing: [x, y]}

相關問題