From: Michael Neumann Date: 2004-12-14T03:24:27+09:00 Subject: Re: Hash freezes String keys are returns copy ts wrote: >>>>>>"M" == Michael Neumann writes: > > > M> okay... but isn't it the same when using a String? > > this is made volontary for efficienty : otherwise each time that you > modify an object, used as a key, ruby will need to re-hash the hash if you > don't want to have strange result like the example that I've given > > In reality when you write > > a = "test" > hash[a] = "test" > > the key and `a' share the same string, but `a' is marked copy-on-write > > M> they behave differently. > > Search the archive of [ruby-talk] for this :-) Ah, IIRC it has something to do with common usage of strings as keys. Regards, Michael