"Bulat Ziganshin" <bulatz / integ.ru> wrote .... > thanks. but with Hash.new(...) hash element updated to default value. > is this difference intended? No there is a difference ... --- hash = Hash.new {Hash.new} hash['a']['b'] = 'c' hash['a']['b'] = 'c' ObjectSpace.each_object(Hash) {|hsh| puts ([hsh.id, hsh.inspect].join (": ")) } --- 20728500: {"b"=>"c"} 20728824: {"b"=>"c"} 20729328: {} --- /Christoph