Well seems that if you don't assing an explicit value to a hash key then 
nothing happens.
 When you assing the default value of the Hash in it initialize method( 
Hash.new("default value") you have to think of it as an object, you can 
change it, of course, it is an object, and it's a value that's returned 
when you call for a key that doesn't has an expecific value.

 hash = Hash.new("go fish")
 hash[:a_key_that_does_not_have_assigned_an_explicit_value.]capitalize!
 puts hash[:another_one]
 #=> "Go fish"
 hash[:third_with_no_explicit_value].upcase!
 puts hash[:another_more]
 #=> "GO FISH"
 hash[:another_more] = "something"
 puts hash[:another_more]
 #=> "something"

 Well don't know it help, cheers!

-- 
Posted via http://www.ruby-forum.com/.