【发布时间】:2015-01-06 21:06:27
【问题描述】:
假设我有一个像这样的哈希:
myhash = {'key1': {'innerkey1': 'innervalue1', ...}, ...}
我想遍历这个散列并将一个键值对添加到内部散列。上面的例子变成:
myhash = {'key1': {'innerkey1': 'innervalue1', 'addedkey': 'addedvalue', ...}, ...}
我尝试使用myhash.each do |k, v|,但更改块中的v 只会影响块范围内的哈希。它通过在块内执行myhash[k]['addedkey'] = 'addedvalue' 来工作,但我想修改内部哈希,而不是使用myhash 来执行此操作。
如何在 Ruby 中做到这一点?
【问题讨论】:
-
addedkey嵌套在myhash中,你必须从上层开始。 -
对不起,我不太明白你的意思。
-
您试图访问内部哈希对象而不通过外部哈希对象,对吧?
-
不,我正在对
myhash做一个each,并且在那个块中我试图添加到当前值。 -
我真的不确定我是否关注这里。这是你在做什么? gist.github.com/allcentury/7d91592e75ffabbe71a2