Sun, 23 Feb 2003 21:46:56 +0900, Michael Bruschkewitz <brusch2 / gmx.net> pisze:

> So, when there is a function:
> def fu h, key, o
> 	e = h[key]
> 	e.val = f1(o)
> 	e.val2 = f2(o)
> end
> .... these will (under most preconditions) change the content of the 
> hash, and including "h[key]=e" at the end will be unnecessary - because
> the existence of "val=" and "val2=" grants there is an object receiver.
> Right?

Yes. e was at key in h at the beginning, and it's still there at the end.
It doesn't matter that the contents of e changed - it's the same e all
the time.

Almost all languages work that way, I'm surprised that people have
problems with this. Only C, C++, Pascal and in part Perl are different
(they have mutable objects passed by value).

-- 
   __("<         Marcin Kowalczyk
   \__/       qrczak / knm.org.pl
    ^^     http://qrnik.knm.org.pl/~qrczak/