Eric Mahurin wrote: >Having an independent >and slightly different class variable concept seems redundant, >confusing, and inconsistent. > > And *weird*. irb(main):001:0> class A irb(main):002:1> @@n = 0 irb(main):003:1> def initialize irb(main):004:2> @@n += 1 irb(main):005:2> end irb(main):006:1> end => nil irb(main):007:0> class B irb(main):008:1> @@n = 0 irb(main):009:1> def initialize irb(main):010:2> @@n += 1 irb(main):011:2> end irb(main):012:1> def A.num irb(main):013:2> @@n irb(main):014:2> end irb(main):015:1> end => nil irb(main):016:0> A.new; B.new; B.new => #<B:0x2ac1190> irb(main):017:0> A.num => 2 For extra fun, replace def A.num with def $stdout.num. >You could just say that these should be equivalent: > >@@x # self.class.instance_eval{@x} >@@x = y # self.class.instance_eval{@x=y} > Oh, tryin' ta one-up me, eh? Well, that shouldn't be too hard. I'm still learning this stuff. :) Devin