Hi, ----- Original Message ----- From: "Michael Fellinger" <m.fellinger / gmail.com> To: "ruby-talk ML" <ruby-talk / ruby-lang.org> Sent: Friday, April 11, 2008 10:28 PM Subject: Re: how to create random object to a particular ruby object ? > On Fri, Apr 11, 2008 at 3:16 PM, Robert Dober <robert.dober / gmail.com> wrote: >> On Fri, Apr 11, 2008 at 2:39 PM, David A. Black <dblack / rubypal.com> wrote: >> > Hi -- >> > ... > > :"&&" >> No David >> irb(main):017:0* x=:& >> irb(main):018:0* 15.send x, 8 >> => 8 >> irb(main):019:0> >> >> The simple "problem" is that I believed for 3 years that &&, ||, :and >> and :or where methods (of Object), which they are not :( >> irb(main):020:0* 15.send("&&", 42) >> NoMethodError: undefined method `&&' for 15:Fixnum >> from (irb):20:in `send' >> from (irb):20 >> from :0 >> >> and unless somebody can point out a good reason why that is like that >> I am really tempted to make a RCR for 1.9. >> Opinions? >> >> Thx in advance >> Robert > > Because the use of these operators is that in some cases you don't > want the right hand to evaluate. > result = long_operation or other_long_operation > > stops evaluating after the first one returns non-nil/false > I don't think so. If you're correct, what's your explanation of the following: irb(main):001:0> 15.send("||",42) NoMethodError: undefined method `||' for 15:Fixnum from (irb):1:in `send' from (irb):1 && or || is not a method but an operator. You cannot use send for the operator. Regards,