I don't understand the following behaviour: irb(main):015:0> a=Hash.new("") {} irb(main):016:0> a[1]<<"a" "a" irb(main):017:0> a[1] "a" irb(main):018:0> a {} Best regards, Jean MICHEL