2014-12-13 52 views
1

我有一个哈希:到嵌套哈希添加元素红宝石

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

我想另一个值添加到关键的“21”,这样的哈希看起来像这样:

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

我怎样才能做到这一点?

回答

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}}} 
+0

没有解释? – 2014-12-13 01:16:12

1

另一种方法是:

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

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