【问题标题】:How to insert a new hash into existing hash in ruby如何将新哈希插入到ruby中的现有哈希中
【发布时间】:2012-03-06 10:51:29
【问题描述】:
我有两个哈希:
p = {"name"=>"TRICHI", "subdistrict"=>{"WANDIWASH"=>"1234"}}
q = {"name"=>"VELLORE", "subdistrict"=>{"WANDIWASH"=>"4183"}}
我需要把它变成
r = [{"name"=>"VELLORE", "subdistrict"=>{"WANDIWASH"=>"4183"}},
{"name"=>"TRICHI", "subdistrict"=>{"WANDIWASH"=>"1234"}}]
【问题讨论】:
标签:
ruby-on-rails
ruby
hash
【解决方案1】:
我猜你想要这个:
r = [] << p << q
# or r = [p, q]
# either way you'll get:
# [ {"name"=>"VELLORE", "subdistrict"=>{"WANDIWASH"=>"4183"}},
# {"name"=>"TRICHI", "subdistrict"=>{"WANDIWASH"=>"1234"}} ]
这样,您将拥有一个 array 和 2 个 hashes。
【解决方案2】:
正如蒂姆所指出的,r 似乎不是一个哈希,也许你的意思是一个数组,在这种情况下你可以这样做
r = [p,q]
或
r = []
r << p
r << q
.. keep going for any other entry you want to push into r