From: dblack@... Date: 2007-01-27T09:43:57+09:00 Subject: Re: pass by reference? Hi -- On Sat, 27 Jan 2007, Martin C. Martin wrote: > > > Phrogz wrote: >> If you pass an immutable type by reference, does it make a sound? >> Er, I mean... >> If you passed an immutable type by reference, how would you know that >> it wasn't passed by value? > > Is there any way for the function you're calling to modify the value of the > variable in the caller? Pass by reference can do that. You can modify the object to which the variable refers: def change_me(obj) obj << "hi" end arr = [1,2,3] change_me(arr) p arr # [1, 2, 3, "hi"] In this example, arr contains a reference to an array. In change_me, obj contains another copy of the same reference, so you can use it to manipulate and change the original array. I still wouldn't call this pass by reference (see my earlier post in this thread). David -- Q. What is THE Ruby book for Rails developers? A. RUBY FOR RAILS by David A. Black (http://www.manning.com/black) (See what readers are saying! http://www.rubypal.com/r4rrevs.pdf) Q. Where can I get Ruby/Rails on-site training, consulting, coaching? A. Ruby Power and Light, LLC (http://www.rubypal.com)