From: Ben Giddings Date: 2003-08-22T04:30:11+09:00 Subject: Re: Class variables - a surprising result Mark J. Reed wrote: > .. . . which are not inherited, which is why it is surprising to many > that Ruby's @@variables are inherited. I'm one of them too. Is there a reason that they're implemented the way they are? Is it ease of implementation? Based on a different OO paradigm? To me it violates the Principle of Least Surprise. If I create a class inheriting from FooBar, it seems to me that it's dangerous that I can break FooBar and all of its other subclasses by doing what appears to be "declaring a class variable" because in reality I'm "changing a class variable defined in a superclass". Ben