From: Xavier Noria Date: 2007-09-29T19:02:59+09:00 Subject: Re: a different type of reference (shocked) On Sep 29, 2007, at 11:37 AM, Robert Dober wrote: > On 9/29/07, David A. Black wrote: >> Hi -- >> >> On Sat, 29 Sep 2007, Phlip wrote: >> >>> SpringFlowers AutumnMoon wrote: >>> >>>> (and in Ruby, we call a method by "pass by value, the value >>>> being the >>>> reference (pointer) to an object). and when the method returns >>>> something, it returns a value, which is the reference to an >>>> object.) It >>>> is very consistent all the way. In Ruby, we don't have the "alias >>>> reference", right? >>> >>> In Ruby, types that can (generally) fit into 32 bits are "immediate >>> types". These Fixnums and Floats are pass-by-value. All other >>> types - >>> from String up - are pass by reference: >> >> I'd describe it more as SpringFlowers did: pass by value, where the >> value happens to be a reference. > Completely agruee with that. IIRC this discussion has been there quite > a while ago and general agreement was not reached on it. That's the way it is described in Java as well, Java is pass-by- value, you pass references by value. C is pass-by-value as well, when you modify something through a pointer you are passing a pointer by value. Perl on the other hand is pass-by-reference: $ perl -wle '$a = 0; sub { $_[0] = 1 }->($a); print $a' 1 -- fxn