From: Bulat Ziganshin Date: 2002-10-23T18:28:29+09:00 Subject: Re: Things That Newcomers to Ruby Should Know (10/16/02) Hello Ian, Tuesday, October 22, 2002, 7:30:19 AM, you wrote: IM> I understand that, but since 'a' already exists prior to assigning a + b IM> to it, why does it need to be recreated? Where strings are concerned, IM> I don't see why this would be any different to 'a << b'. main problem is that object pointed by 'a' mauy be also pointed by another variable an if you change this object directly your code wil have SIDE EFFECT. are you really need this? :) so '<<' and other methods changing object itself must be used very carefully, preferably for local variables and other "own" objects example of this side effect: def a(s) s << '!' s += '?' return s end x='1' y=a(x) p x,y -- Best regards, Bulat mailto:bulatz@integ.ru