On 29-sep-2007, at 19:16, SpringFlowers AutumnMoon wrote:
> In that case, we can say that a is a pointer and not a reference.
This has been discussed at greatest length imaginable. Personally I
use the somwehat unacademic
"a direct reference to an object in the heap" for variables in Ruby.
Whereby the reference is just that -
a handle, not a value in itself (some address of something or other).
The only moment when it is handy to knowis when doing assignment.
boo = Dog.new # this makes a new Dog in the heap and saves it's
"handle" in boo
boo = nil # this wil NOT replace the new Dog in the heap with a nil,
but will link boo to the single instance of NilClass - the dog will
stay in the heap and will eventually
# be GCed
From there comes the Object#replace method.
For the rest you can more-less safely assume that everything happens
by reference.
--
Julian 'Julik' Tarkhanov
please send all personal mail to
me at julik.nl