x = Hash.new()
x[:test] << ‘this’
Huh? It seems that when I index a hash with a new key, it returns the
Hash’s default value object, not a copy of it. So if you modify that,
it modifies the default value, which then effects the default value for
every other new key.
I don’t know, I wouldn’t call this the “principle of least surprise”…
I was plenty surprised!