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
*What is the “.” in front of the operator ?
object .=== other_object
Thanks
John
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
*What is the “.” in front of the operator ?
object .=== other_object
Thanks
John
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
=> #Object:0x3f2ac8def o.===(x) p x end
=> nilo === 1
1
=> nilo.=== 1
1
=> nilo.===(1)
1
=> nilo.send :===, 1
1
=> nil
These are all equivalent pieces of code.
Kind regards
robert
On 8/15/06, Robert K. [email protected] wrote:
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_objectIt’s simply the fact that it’s invoked. “when” doesn’t invoke ==, eql?
or equal? but ===.
And it does it differently than might be expected.
case object
when other_object
end
is the same as other_object === object, not the other way around.
-austin
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs