On Wed, May 07, 2003 at 06:23:06AM +0900, Gennady wrote:
> In both cases Ruby parses Aaa::Bbb::Ccc before calling a method and is expected to complain.
> So, is "defined?" an operator then? I am too lazy today to look into the source.

You can always look in the Pickaxe :-) Yes, it's an operator:

   Ruby supports all the standard boolean operators and introduces the  
   new operator defined?.
...
   The defined? operator returns nil if its argument (which can be an
   arbitrary expression) is not defined, otherwise it returns a
   description of that argument. If the argument is yield, defined?  
   returns the string `yield'' if a code block is associated with the   
   current context.
   
   defined? 1             "expression"
   defined? dummy         nil
   defined? printf        "method"
   defined? String        "constant"
   defined? $&            nil
   defined? $_            "global-variable"
   defined? Math::PI      "constant"
   defined? ( c,d = 1,2 ) "assignment"
   defined? 42.abs        "method"

http://www.rubycentral.com/book/tut_expressions.html
(although I keep a local copy for easy grepability :-)

Regards,

Brian.