On Aug 15, 2008, at 1:32, Ray Pereda wrote:

>>> h = Hash.new {|h,k| h[k] = Hash.new(&h.default_proc)}

Don't do that. The h inside the block is conflicting with the h  
outside. Make sure the variables don't collide, and it works:

 >> the_hash = Hash.new {|h,k| h[k] = Hash.new(&h.default_proc)}
=> {}
 >> the_hash[:a][:b][:c]
=> {}
 >> the_hash
=> {:a=>{:b=>{:c=>{}}}}

-- 
Mikael H°Úlund
http://hoilund.org/