From: matz@... (Yukihiro Matsumoto) Date: 2000-01-12T18:33:03+09:00 Subject: [ruby-talk:01127] Re: Class variables... Hi, In message "[ruby-talk:01125] Class variables..." on 00/01/12, David Suarez de Lis writes: |Say I have a class person and a variable @population. | |class Person | @population = 0 | def new(the_name = nil) | @name = the_name | @Person::population += 1 | end |end 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 |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) will call proc on GC. Notice the proc should not point obj directly, or indirectly. Ask \Cle. for more detail. :-) matz.