Re: Bug in pattern matching?
- To: mathgroup at smc.vnet.net
- Subject: [mg8730] Re: [mg8722] Bug in pattern matching?
- From: Olivier Gerard <jacquesg at pratique.fr>
- Date: Sat, 20 Sep 1997 22:27:58 -0400
- Sender: owner-wri-mathgroup at wolfram.com
At 08:48 +0200 97.09.19, Peter Str=96mbeck wrote: > > Doing this in a pattern matching statement produces a totally different > result: > > In[5]:=3D > ls/.{first_, middle___, last_}\[Rule] {{first},C {middle},{last}} > Out[5]=3D > {{a[0]},{C a[1] a[2] a[3] a[4]},{a[5]}} > > The middle list now contains a completely different result than Out[4]! > > Can anyone please explain this to me? > > /Peter Str=96mbeck This is not a bug, Peter, this is a feature. When you define rules, the right hand side is evaluated. This explain the result. You should use RuleDelayed (:>) (This is not a smilie, or is it ?) This way, the right hand side will be evaluated when the pattern is applied so Times will be threaded on the whole middle list. Hope this helps Olivier. (PS: curious you didn't have an answer from WRI support. I am sure they could find this out. Are you registered ?)