Hi --

On Mon, 29 Aug 2005, Trans wrote:

> irb(main):006:0> def r
> irb(main):007:1>   @r ||= Hash.new({})
> irb(main):008:1> end
> => nil
> irb(main):009:0> r[:a]
> => {}
> irb(main):010:0> r[:b][:c] = 10
> => 10
> irb(main):011:0> r
> => {}
> irb(main):012:0> r[:b]
> => {:c=>10}
> irb(main):013:0>
>
> Please explain how r is empty but r[:b] exists.  Thank You.

r[:b] doesn't exist, so instead, you get the hash's default value
(which is what is returned for non-existent keys).


David

-- 
David A. Black
dblack / wobblini.net