Re: confused about == vs === in this equality

• To: mathgroup at smc.vnet.net
• Subject: [mg103747] Re: confused about == vs === in this equality
• From: "Chris Degnen" <degnen at cwgsy.net>
• Date: Mon, 5 Oct 2009 07:35:49 -0400 (EDT)
• References: <20091003104738.LCJ3I.416659.imail@eastrmwml34> <ha9qqp\$7vi\$1@smc.vnet.net>

```I refer you to Leonid's Mathematica introduction:

http://www.mathprogramming-intro.org/book/node109.html

"Nasser Abbasi" <nma at 12000.org> asked:
>
> ?===
> lhs===rhs yields True if the expression lhs is identical to rhs, and
> yields
> False otherwise.
>
> ?==
> lhs==rhs returns True if lhs and rhs are identical.
>
> But looking at this example:
>
> a = ComplexInfinity;
> If[a == ComplexInfinity, Print["YES"]]
>
> Expecting it would print "YES", but it does not. it just returns the whole
> thing unevaluated? But
>
> If[a === ComplexInfinity, Print["YES"]]
>
> does return YES.
>
> I guess I am a little confused about the "expression" bit in the
> definition.
>
> So, when using the 3"=", it is looking at the _value_ of the expression,
> but
> when using the 2"=", it is looking at the expression _as it is_, i.e.
> without evaluating it?  Is this the difference?  I've always used the 2"="
> for equality, now I have to be more careful which to use.
>
> --Nasser
>

```

• Prev by Date: Solving differential equations in the complex plane
• Next by Date: What Mathematica "says" on two BBP type infinite sums ?
• Previous by thread: Re: confused about == vs === in this equality
• Next by thread: Re: confused about == vs === in this equality