2017-08-31 2 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: [{ First: Moses, Last: Kim}, { First: John, Last: Snow}]}

そして、それはあなたから構築することができます。

サブハッシュは配列にする必要があります存在するデータは有効なハッシュではありません。 2番目の値はキー値のペアではありません。すべてのエントリに ':listing'キーを持たせますか?それはもちろん動作しません... –

+0

元の "キーと値のペアの配列"はどのように見えるのですか? –

答えて

1

{ 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]}

関連する問題