MathGroup Archive 2000

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: With[{software=Mathematica}, Frustration]

  • To: mathgroup at smc.vnet.net
  • Subject: [mg24316] Re: [mg24308] With[{software=Mathematica}, Frustration]
  • From: Andrzej Kozlowski <andrzej at tuins.ac.jp>
  • Date: Sun, 9 Jul 2000 04:52:28 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

on 00.7.7 1:11 PM, AES at siegman at stanford.edu wrote:

> Pages 359-360 of The Mathematica Book says (admittedly, taken a little
> out of context), 
> 
> "You can think of  With  as a generalization of the /. operator. . ."
> 
> and
> 
> " With[{x=x0}, body]  works essentially like body /. x->x0 . . . "
> 
> Great, looks neat, let's try it for evaluating expressions without
> permanently setting the variables in them:
> 
> In[1]:= c = a b
> 
> Out[1]= a b
> 
> In[2]:= c
> 
> Out[2]= a b
> 
> In[10]:= c /. {a -> 2, b -> 3}
> 
> Out[10]= 6
> 
> In[3]:= With[{a = 2, b = 3}, c]
> 
> Out[3]= a b
> 
> *Not* what I was hoping for  . . .
> 
 The point here is that With works like Module: it renames the variables (a
way of localizing their meaning). Thus the c outside With and the one inside
are quite different. What you  should have compared is

In[13]:=
a*b /. {a -> 2, b -> 3}

Out[13]=
6

In[14]:=
With[{a = 2, b = 3}, a*b]

Out[14]=
6

Unfortunately the way the Mathematica book is written it is not a very good
idea to just read fragments of it, unless you are already pretty familiar
with the basic principles of the programming language. You'd do better to
read  some introductory text on Mathematica programming first.


-- 
Andrzej Kozlowski
Toyama International University, JAPAN

For Mathematica related links and resources try:
<http://www.sstreams.com/Mathematica/>



  • Prev by Date: define a new object or use the existing?
  • Next by Date: Re: Mathematica gives bad integral ??
  • Previous by thread: Re: With[{software=Mathematica}, Frustration]
  • Next by thread: Re: With[{software=Mathematica}, Frustration]