On Thu, Apr 28, 2011 at 3:22 PM, Chad Perrin <code / apotheon.net> wrote:

> Oh, you're talking about boolean operators.  I thought you were talking
> about actual boolean *methods*:
>
>    irb(main):001:0> foo = Hash.new
>    => {}
>    irb(main):002:0> foo.empty?
>    => true
>
>
I think of operators as methods. Probably the best term for those is
predicate.


> . . . but I dispute the argument you present that methods are objects.
> The fact that one can wrap a method in a "method object" does not make
> the method *itself* an object; it just creates an object that has a
> particular kind of interface to the method.
>
>
I'm not saying that methods are objects, I'm saying that calling them
non-objects serves no purpose, and choosing to think of them as objects (as
Ruby obviously wants you to) allows Ruby to be elegant again.