Re: perplexed by blank sequence in pattern replacement
- To: mathgroup at smc.vnet.net
- Subject: [mg68726] Re: [mg68674] perplexed by blank sequence in pattern replacement
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Thu, 17 Aug 2006 04:18:33 -0400 (EDT)
- References: <200608160736.DAA06103@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On 16 Aug 2006, at 09:36, Blake wrote: > Dear MathGroup: > > I have been blithely using blank sequences in pattern matching for > some > time. In persuit of a bug in a package of mine, I was quite alarmed to > find that I don't really understand how to use the blank sequence, as > expressed in the following simplified example: > > In[1]:=Replace[a*b*c,Times[mysequence__]:>{mysequence}] > > Out[1]={a b c} > > I expected Out[1]={a,b,c}, from a naieve reading of the full form of > a*b*c > > In[2]:=FullForm[a*b*c] > > Out[2]//FullForm=Times[a,b,c] > > Will someone PLEASE tell me why In[1] does not yield the results I > expected? (I can readily use a work-around, what I am concerned > with is > a correct understanding of pattern matching). > > Blake Laing > thesis slave > University of Oklahoma > Just observe that: Times[mysequence__] mysequence__ hence the correct thing to do is: Replace[Times[a,b,c],HoldPattern[Times[mysequence__]]:>{mysequence}] {a,b,c} Andrzej Kozlowski
- References:
- perplexed by blank sequence in pattern replacement
- From: "Blake" <laing@ou.edu>
- perplexed by blank sequence in pattern replacement