重複の可能性:
Hash.new([]) 使用時の Ruby の奇妙な動作
言葉を失ったので、これは簡単なことです。
なぜこうなった:
1.9.3-p194 :001 > h = Hash.new([])
=> {}
1.9.3-p194 :002 > h[:key1] << "Ruby"
=> ["Ruby"]
1.9.3-p194 :003 > h
=> {}
1.9.3-p194 :004 > h.keys
=> []
1.9.3-p194 :005 > h[:key1]
=> ["Ruby"]