From: Hugh Sasse Staff Elec Eng <hgs / dmu.ac.uk> Subject: [ruby-talk:04248] TABWTDI and Hash.new([]) Date: Fri, 28 Jul 2000 11:43:26 +0100 (BST) [...] > I can live with this now I know, so I am not really pressing for change, > but I'd like to know about the serious considerations that make this way > the better way. It will help me understand the thinking behind ruby > better. I don't know the exact reason why it behave this way but, IMHO, it might be because in the Ruby World 'thing' is a reference to object, not the object itself? Hash.new(thing) is, IMHO, "create a hash with reference to thing as a default value", rather than "create a hash with thing as a default value" so, Hash.new([]) can be read, "create a hash with reference to the anonymous array as a default value" rather than "create a hash with an empty array as a default value" regards, -- yashi