<分区>
我想创建一个具有嵌套默认值的新哈希。我觉得应该是这样的
h = Hash.new(count: 0, rating: 0)
所以我可以做类似的事情
h['a'][:count] += 1
h['a'][:rating] += 1
等等。但是当我在控制台中尝试它时,它看起来像这样:
2.3.1 :046 > h = Hash.new(count: 0, rating: 0)
=> {}
2.3.1 :047 > h["a"]
=> {:count=>0, :rating=>0}
2.3.1 :048 > h["a"][:count]
=> 0
2.3.1 :049 > h["a"][:count] += 1
=> 1
2.3.1 :050 > h["b"][:count] += 1
=> 2
2.3.1 :051 > h
=> {}
所以我的问题是:
- 为什么
h["b"][:count] += 1
返回 2 而不是 1? - 为什么 h 是空的?
提前致谢!