【发布时间】:2010-12-21 18:38:35
【问题描述】:
好的,所以我想创建一个默认值为空哈希的哈希。有点奇怪,我知道,但假设我认为它可能有用。
这就是我所做的:
>> a = Hash.new({})
=> {}
>> a[:a][:b] = 5
=> 5
>> a
=> {}
>> a[:a]
=> {:b=>5}
>> a.keys
=> []
>> a.size
=> 0
>> a[:a].size
=> 1
换句话说,当我检查哈希时,我看不到哈希成员,但我可以通过它的键访问它。
这是预期的行为吗?这是怎么回事?
顺便说一句,这是 Ruby 1.9.1,还没有尝试过早期版本。
编辑:简化示例,因为它不必是散列的散列...
【问题讨论】: