在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) }
哎呦。 我会尽量不要下次问这个问题。