在Ruby中,如何为嵌套的哈希设置默认值?

4

我最近在寻找一种正确创建和使用Ruby中嵌套哈希的方法。 我很快发现了Paul Morie的解决方案,他回答了自己的问题:

hash = Hash.new { |h,k| h[k] = {} }

我很快开始使用它,并很高兴地报告它有效。 但是,正如标题所说,我想默认情况下“次要”,“内部”哈希将返回0

我知道可以通过构造函数(“Hash.new(0)”)或使用.default(“hash.default(0)”)来定义哈希的默认返回值。

但如何处理哈希内部的哈希呢?

1个回答

15

显然我只需要做:

hash = Hash.new { |h,k| h[k] = Hash.new(0) }

糟糕。下次我会尽量不那么匆忙地提问。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接