4
Странное, неожиданное поведение (исчезновение / изменение значений) при использовании значения Hash по умолчанию, например Hash.new ([])
Рассмотрим этот код: h = Hash.new(0) # New hash pairs will by default have 0 as values h[1] += 1 #=> {1=>1} h[2] += 2 #=> {2=>2} Все в порядке, но: h = Hash.new([]) # Empty array as default value h[1] <<= 1 #=> {1=>[1]} ← Ok h[2] <<= 2 …