On Apr 18, 2005, at 6:33 AM, Florian Growrote: > Nice article, but I disagree in the point that @@vars are simpler than > class instance variables. Class instance variables have odd semantics > in the current Ruby which means that they will probably do some detail > different than you expect. But you have to do: class Foo @var1 = [] @var2 = {} class << self attr_accessor :var1, :var2 end end to get reasonable access to those class instance variables inside an instance method, and even then you have to do self.class.var1 Once you 'get it' it's not TERRIBLY difficult, but I would say that the above is more than enough justification for calling @@foo simpler. Simpler, but also confusing in the inherited-class cases. (So confusing that I still don't fully grok what specifically occurs that makes @@foo unusable, and when it occurs. I'm still grasping at the fringes of the tablecloth.)