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

在Ruby中,如何为嵌套哈希设置默认值?,ruby,hash,nested,Ruby,Hash,Nested,我最近寻找了一种在Ruby中正确创建和使用嵌套哈希的方法。我立刻找到了一个,他回答了自己的问题: hash=hash.new{h,k{h[k]={} 我很快就用上了它,并很高兴地报告它的工作情况。但是,正如标题所说,我希望“secondary”、“inside”散列在默认情况下返回0 我知道您可以在其构造函数(“hash.new(0)”)或使用.default(“hash.default(0)”)中定义哈希的默认返回值 但是如何在散列中使用散列呢?显然,我只需要做: hash=hash.ne

我最近寻找了一种在Ruby中正确创建和使用嵌套哈希的方法。我立刻找到了一个,他回答了自己的问题:

hash=hash.new{h,k{h[k]={}

我很快就用上了它,并很高兴地报告它的工作情况。但是,正如标题所说,我希望“secondary”、“inside”散列在默认情况下返回0

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


但是如何在散列中使用散列呢?

显然,我只需要做:

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

哎呀。下次我尽量不要这么匆忙地问问题