Evaluate[] not needed in With[]
- To: mathgroup at smc.vnet.net
- Subject: [mg62966] Evaluate[] not needed in With[]
- From: "Steven T. Hatton" <hattons at globalsymmetry.com>
- Date: Fri, 9 Dec 2005 05:10:44 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
I started looking at Dr. Maeder's _Programming in Mathematica_, and was
doing quite well understanding everything until I got to the first example
in the first section of the first chapter. He gives an example of using
ParametricPlot and tells us "Because ParametricPlot evaluates its arguments
in a nonstandard way, we need to force evaluation of the variable hline by
wrapping in into Evaluate[]." He later tells me I don't need to do that
for a "constant" in a With[] expression. The following is a cobbled
together example showing both forms:
Clear[z, x, y, cz, hlines, vlines];
z = x + y I;
cz = {Re[z], Im[z]};
hg = With[{hlines = Table[N[cz], {y, -1, 1, 2/8}]},
ParametricPlot[hlines, {x, -Pi/2, Pi/2},
DisplayFunction -> Identity][[1]]
];
vlines = Table[N[cz], {x, -Pi/2, Pi/2, Pi/12}];
vg = ParametricPlot[Evaluate[vlines], {y, -1, 1},
DisplayFunction -> Identity][[1]];
Show[Graphics[Join[hg, vg], AspectRatio -> Automatic, Axes -> True]]
I can read the words, and follow the instructions, but I still don't
understand _why_ the version in the With[] expression doesn't need the
Evaluate[]. Is there a way to _explain_ this behavior, or do I simply need
to memorize the rule by rote?
--
The Mathematica Wiki: http://www.mathematica-users.org/
Math for Comp Sci http://www.ifi.unizh.ch/math/bmwcs/master.html
Math for the WWW: http://www.w3.org/Math/
- Follow-Ups:
- Re: Evaluate[] not needed in With[]
- From: Sseziwa Mukasa <mukasa@jeol.com>
- Re: Evaluate[] not needed in With[]