From: Belorion Date: 2005-06-17T01:07:12+09:00 Subject: hash of hashes by default I want a Hash of Hashes. Furthermore, I want it so that if a key for the first has does not exist, the default value is a new hash. It's simple enough to do a has_key? on a hash to see if it already exists, but it seems like there might be a trick to it that I'm not aware of. So, instead of foo = Hash.new mylist.each do |ii| anotherlist.each do |jj| if foo.has_key?( ii ) foo[ii][jj] = "hello world" else foo[ii] = { jj => "hello world" } end end end I can do: mylist.each do |ii| anotherlist.each do |jj| foo[ii][jj] = "hello world" end end Any suggestions?