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

问题描述 投票:0回答:2

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


我立即去使用它,并很高兴地报告它有效。然而,正如标题所说,我希望

“次要”、“内部”哈希值默认返回 0

我知道您可以在其构造函数(“Hash.new(0)”)或使用

.default

(“

hash.default(0)
”)中定义哈希的默认返回值。

但是如何使用散列内的散列来做到这一点?
    

显然我只需要做:

ruby hash nested
2个回答
15
投票
hash = Hash.new { |h,k| h[k] = Hash.new(0) }

哎呀。下次我会尽量不那么急于提问。

    

或者

hash = Hash.new(Hash.new(0))

0
投票


© www.soinside.com 2019 - 2024. All rights reserved.