Rubyでハッシュのデフォルト値を配列にする

list = Hash.new{|hash, key| hash[key] = []}

list[:even] << 2
p list[:even] #=> [2]

list[:odd] << 3
p list[:odd]  #=> [3]
Hash.new{|hash, key| hash[key] = []}

で初期値を配列にできる。