From: Robert Klemme Date: 2006-08-15T17:30:10+09:00 Subject: Re: Question about the threequal operator .=== On 15.08.2006 10:15, John wrote: > Hi > > I'm a newbie on ruby and i have some questions : > *What is special to the threequals operator when it comes to when > clause ? > object === other_object It's simply the fact that it's invoked. "when" doesn't invoke ==, eql? or equal? but ===. > *What is the "." in front of the operator ? > object .=== other_object This is just the normal method invocation syntax. Note that an operator in Ruby is nothing else than an instance method with a special invocation syntax. >> 10:25:00 [~]: irbs >> o = Object.new => # >> def o.===(x) p x end => nil >> o === 1 1 => nil >> o.=== 1 1 => nil >> o.===(1) 1 => nil >> o.send :===, 1 1 => nil These are all equivalent pieces of code. Kind regards robert