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