Re: Named Patterns in Switch
- To: mathgroup at smc.vnet.net
- Subject: [mg48954] Re: [mg48945] Named Patterns in Switch
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Fri, 25 Jun 2004 02:58:18 -0400 (EDT)
- References: <200406240936.FAA28070@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On 24 Jun 2004, at 18:36, David Park wrote: > Dear MathGroup, > > Here is an attempted routine using Switch that does not work. > > foo[expr_] := > Switch[expr, > (a_.)*x^(n_), a, > (a_.)*y^(n_), n] > > foo[3*x^3] > a (I was hoping for 3) > > > Switch uses patterns, but any named patterns are useless. So the a in > the third argument in Switch has nothing to do with the a_. in the > second argument. > > Is there some Mathematica construction that will test successive > patterns with names, do a calculation with the first match and use the > names in the patterns? > > David Park > djmp at earthlink.net > http://home.earthlink.net/~djmp/ > > How about just: foo[expr_] := Switch[expr, (a_.)*x^(n_), Replace[expr,(a_.)*x^(n_)->a], (a_.)*y^(n_),Replace[expr,(a_.)*y^(n_)-> n]] foo[3*x^3] 3 ? Andrzej Kozlowski Chiba, Japan http://www.mimuw.edu.pl/~akoz/
- References:
- Named Patterns in Switch
- From: "David Park" <djmp@earthlink.net>
- Named Patterns in Switch