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

我最近在寻找一种在Ruby中正确创建和使用嵌套哈希的方法。 我及时找到了Paul Morie的解决方案 ,他回答了自己的问题: hash = Hash.new { |h,k| h[k] = {} } hash = Hash.new { |h,k| h[k] = {} }

我立即去使用它,很高兴报告它有效。 但是,正如标题所说,我希望“辅助”,“内部”哈希默认返回0

我知道您可以在其构造函数(“ Hash.new(0) ”)或使用.default (“ hash.default(0) ”)中定义散列的默认返回值。

但是你如何用哈希中的哈希来做到这一点?

显然我只需做:

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

哎呦。 我会尽量不要下次问这个问题。