ara.t.howard wrote: > yeah i see all that. still, i've deigned quite a few ruby classes and i > can assure people that they will miss them when they are gone/limited. > the reason, curiously, is that classes do not have an initialize > method/hook. let me explain: let's say you want to do something quite > reasonable like so > > class Parser > > def self.bufsize(*value) > value.size == 0 ? @@bufsize : self.bufsize=(value.first) > end > > def self.bufsize=(value) > @@bufsize = Integer value > end > > bufsize 4242 > > def initialize options = {} > @bufsize = options[:bufsize] || @@bufsize > end > > end > > Parser.new But this still works with ruby1.9! And it works in subclasses too. As long as @@bufsize is within the lexical context of Parser, it works just like 1.8. The difference is only if you try to use @@bufsize within the (lexical) scope of a subclass.