Login  Register

About ~= and ~~

Posted by Clara Allende on Oct 12, 2011; 3:30pm
URL: https://forum.world.st/About-and-tp3898409.html

Hi guys,

I'm wondering, why?

ProtoObject>> ~~ anObject
    "Answer whether the receiver and the argument are not the same object
    (do not have the same object pointer)."

    self == anObject
        ifTrue: [^ false]
        ifFalse: [^ true]

Instead of:
ProtoObject>> ~~ anObject
    "Answer whether the receiver and the argument are not the same object
    (do not have the same object pointer)."

    ^(self == anObject) not

And why?
Object >> ~= anObject
    "Answer whether the receiver and the argument do not represent the
    same object."

    ^self = anObject == false
      
Instead of
Object>> ~= anObject
    "Answer whether the receiver and the argument do not represent the
    same object."

    ^(self = anObject) not.

Is there any particular reason for this that I'm missing?
Thanks in advance!
--

"Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program."

Linus Torvalds