Hi, At Wed, 4 Apr 2007 06:01:21 +0900, Charles Oliver Nutter wrote in [ruby-core:10853]: > Is there a historical reason why I can't do something like these: > > x = String > class x; end > > or > > def x; String; end > class x(); end > > or any other combination of an arbitrary syntactic construct that might > produce a class? Was it done to simplify parsing or evaluation of classes? If there were can be an arbitrary expression, it conflicts with the superclass notation. Consider: class X < String How do you see the above, X inherits String, or comparison between X and String? We concluded that parentheses around the expression for a while ago. > The reason I ask is for something in JRuby. In JRuby we can refer to > Java classes using a long-hand syntax: > > java.lang.System Hmmm, I'm interested in how the conflict is solved. -- Nobu Nakada