Is there any documentation on this anywhere? Does class << self is creating an unnamed subclass? How do the members end up belonging to the class not an instance (although each instance also has it's own copies)? Where are the instances of those class variables created and initialized? I've tried it and they work exactly as you have intended, I just want to know why. Excuse the stupid questions. Ralph > ts (2001-11-18 00:14): > > use instance variable > > > > class Foo > > @foo, @bar = "Root", 66 > > class << self > > attr_reader :foo, :bar > > end > > end > > > > p [Foo.foo, Foo.bar] > >