ReplaceList -- Unexpected Answer
- To: mathgroup at smc.vnet.net
- Subject: [mg46788] ReplaceList -- Unexpected Answer
- From: Harold.Noffke at wpafb.af.mil (Harold Noffke)
- Date: Mon, 8 Mar 2004 04:10:23 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
MathGroup:
In The Mathematica 5 Book, Section 2.3.3 Naming Pieces of Patterns, we
find the following pattern matching exercise ...
Now both arguments of f are constrained to be the same, and only the
first case matches.
In[5]:=
{f[h[4], h[4]], f[h[4], h[5]]} /. f[x:h[_], x_] -> r[x]
Out[5]=
{r[h[4]],f[h[4],h[5]]}
Now, let's use ReplaceList to get more insight into this matching
process ...
In[6]:=
ReplaceList[ {f[h[4],h[4]],f[h[4],h[5]]},f[x:h[_],x_] -> r[x] ]
Out[6]=
{}
I do not understand why ReplaceList returns {} instead of { r[h[4]] }.
Regards,
Harold
- Follow-Ups:
- Re: ReplaceList -- Unexpected Answer
- From: Andrzej Kozlowski <akoz@mimuw.edu.pl>
- Re: ReplaceList -- Unexpected Answer