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

Jos*_*z_2 2 ruby hash nested

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

我很快就使用了这个,很高兴报告它有效.但是,正如标题所说,我希望"辅助","内部"哈希默认返回0.

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

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

Jos*_*z_2 11

显然我只需要这样做:

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

哎呦.我会尽量不要下次问一个问题.