|
[Date Index]
[Thread Index]
[Author Index]
RE: ReplaceAll doesn't replace
- To: mathgroup at smc.vnet.net
- Subject: [mg32591] RE: [mg32550] ReplaceAll doesn't replace
- From: "Wolf, Hartmut" <Hartmut.Wolf at t-systems.com>
- Date: Wed, 30 Jan 2002 03:19:14 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
-----Original Message-----
> From: Ken Morgan [mailto:kmorga51 at calvin.edu]
To: mathgroup at smc.vnet.net
> Sent: Saturday, January 26, 2002 10:08 AM
> Subject: [mg32591] [mg32550] ReplaceAll doesn't replace
>
>
> I understand how the following will replace x with the list
>
> #^2 & /@ (x /. x -> {a, b, c})
>
> to generate
>
> {a^2, b^2, c^2}
>
> But, why isn't x replaced at the beginning of the evaluation in the
> following
>
> (#^2 & /@ x) /. x -> {a, b, c}
>
> since it generates
>
> {a, b, c}
>
> What I really want to know is: What is it about the Function
> function that
> doesn't allow ReplaceAll to "replace all" at the beginning of
> an evaluation?
>
> Thanks,
> Ken Morgan
> kmorga51 at calvin.edu
>
>
Ken,
the order of evaluation is different from what you suppose.
ReplaceAll evaluates its argments, so
In[8]:= (#^2 & /@ x)
Out[8]= x
Nothing is Mapped on an atom, so x is reproduced. Next
In[9]:= x /. x -> {a, b, c}
Out[9]= {a, b, c}
but:
In[10]:= Unevaluated[(#^2 & /@ x)] /. x -> {a, b, c}
Out[10]= {a^2, b^2, c^2}
--
Hartmut Wolf
Prev by Date:
Gross Bug in Simplify
Next by Date:
RE: Headless set of elements?
Previous by thread:
Re: ReplaceAll doesn't replace
Next by thread:
Integrating extremely elliptic orbits displaced from the origin.
|