[#1026] Is this a bug? — Dave Thomas <Dave@...>

18 messages 2000/01/03

[#1084] Infinite loop — Dave Thomas <Dave@...>

17 messages 2000/01/11

[#1104] The value of while... — Dave Thomas <Dave@...>

24 messages 2000/01/11

[ruby-talk:01134] Re: Class variables...

From: Clemens Hintze <clemens.hintze@...>
Date: 2000-01-12 17:00:13 UTC
List: ruby-talk #1134
David Suarez de Lis writes:
> Hi there,
> 
> matz wrote:
> > Ruby does not have the class variables (yet).
> > 

[...]

> I thought Capital case identifiers were constants... Unless
> Population is a constant Array of 1 value, but the value inside the
> array is variable... ?

Your are right. The variable is a constant. That means the content of
the variable. All variables in Ruby contain references to a certain
object (ok, almost all ;-). You cannot assign a new value (means
reference) to the variable, but you could, of course, send a message to
the referenced instance to modify itself.

[...]

> I see, interesting although a bit complicated (according with \cle's
> examples...) does this add a new object to a program (or, better
> said, a new object per object we create)?

Yes and no, it depends on what you are doing! You have to assign a
Proc instance to the 'define_finalizer' method. In your simple example
(only decrementing 'Population') we could reuse the same Proc instance
ever and ever again. But as I pass the name of the Person to the Proc
instance, it is necessary to create a new finalizer instance with
every new Person instance.

First it has also disturbes me, but after a while I have found, that
I need this feature *very* seldom (only once in all my scripts written
so far [except for samples like yours, of course] ;-)

[...]

> Thanks, nice work with the language,
> d@

\cle

[...]

In This Thread

Prev Next