Message-ID: <337722593.3077.1406292093341.JavaMail.email@example.com> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_3076_1705919670.1406292093340" ------=_Part_3076_1705919670.1406292093340 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Just a note that we could use some docs on:
The "=3D=3D" operation is deceptively simple. When a data stru= ctuer has overriden the "Equals" method, .NET/Boo checks the valu= es of one data structure against another and returns true if they are ident= ical or false if they are not. By default, .NET provides "Equals"= overloads for most of the builtin data-types like int, float, decimal, str= ing, and etc. Using "=3D=3D", two seperate objects can be evaluat= ed and it can be determined if, by value, they are equal or not.
The "isa" keyword determines if a variable is of a particular = type. "isa" is useful in determining if a variable implements an = interface, or derives from a common base class.
The "is" keyword serves a different, and somewhat more complex= function. Sometimes you might want to go beyond the usual check of "a= re these two variables of equal value?" and see, &quo= t;are these two variables actually pointing to the same object?" This is where "is" shines; it looks at the reference = of two variables and determines if they both point to the same object!
This technique is normally used when you receive an object by poking a d= ictionary or invoking a method; if the identity of var1 and var2 is the sam= e, then they are obviously equal--because they are the same object.