我最近寻找一种在 Ruby 中正确创建和使用嵌套哈希的方法。我很快找到了一个保罗·莫里的解决方案 https://stackoverflow.com/a/17356513/3399416,他回答了自己的问题:
hash = Hash.new { |h,k| h[k] = {} }
我立即去使用它,并很高兴地报告它有效。然而,正如标题所说,我想要“次要”、“内部”哈希值return 0默认情况下.
我知道您可以在其构造函数中定义哈希的默认返回值(“Hash.new(0)
“)或使用.default
("hash.default(0)
").
但是如何使用散列内的散列来做到这一点呢?
显然我只需要做:
hash = Hash.new { |h,k| h[k] = Hash.new(0) }
哎呀。下次我会尽量不那么急于提问。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)