将元素添加到ruby中的嵌套哈希

时间:2014-12-13 00:53:08

标签: ruby hash

我有一个哈希:

a = { 21 => { 3 => {:x => 5, :y => 6}}}

我想为关键字' 21'添加另一个值。这样哈希看起来像这样:

a = { 21 => { 3 => {:x => 5, :y => 6}, 4 => {:x => 8, :y => 7}}}

我该怎么做?

2 个答案:

答案 0 :(得分:2)

您想要将键值对添加到哈希值(a[21])。 a[21]将为您提供内部哈希对象。

a = { 21 => { 3 => {:x => 5, :y => 6}}}
a[21]
# => {3=>{:x=>5, :y=>6}}

将键值与内部哈希值相关联将解决您的问题。

a[21][4] = {:x => 8, :y => 7}
a
# => {21=>{3=>{:x=>5, :y=>6}, 4=>{:x=>8, :y=>7}}}

答案 1 :(得分:1)

另一种方式是:

a[21].update({ 4=>{:x => 8, :y => 7} }) 

a #=> {21=>{3=>{:x=>5, :y=>6}, 4=>{:x=>8, :y=>7}}}