From: David Suarez de Lis Date: 2000-01-12T11:46:13-05:00 Subject: [ruby-talk:01133] Re: Class variables... Hi there, matz wrote: > Ruby does not have the class variables (yet). > > Typical idiom to share value among instances is: > > class Person > Population = [0] > def new(the_name = nil) > @name = the_name > Population[0] += 1 > end > end I thought Capital case identifiers were constants... Unless Population is a constant Array of 1 value, but the value inside the array is variable... ? > |Also, I assume END {} allows us to put conditions for GC? > |Like END { @Person::population -= 1 } > > No, END is like at_exit(3) for C. > For something to be processed at GC time, use finalizers. > > require 'final' > > ObjectSpace.define_finalizer(obj, proc) 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)? > > will call proc on GC. Notice the proc should not point obj directly, > or indirectly. Ask \Cle. for more detail. :-) Thanks, nice work with the language, d@ ------------------------------------------------------------- Mensaje enviado gracias al correo gratuito de Demasiado Corp. [http://correo.demasiado.com] -------------------------------------------------------------