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.