kunjaan wrote: > What do you mean when you say"Class definitions are executable code". > How do classes differ from other OO languages? Because the class is only created when the class definition code is actually run. For example, the following code is syntactically fine: a = Foo.new class Foo def bar end end However at runtime it fails at the first line, because class Foo does not exist yet. That example might suggest this behaviour is a bad thing, but in practice it's a good thing. It means, for example, you can "re-open" classes and add new methods at runtime. ("re-open" is not an accurate term; the class always remains open) -- Posted via http://www.ruby-forum.com/.