Re: Pattern matching at bottom depth
- To: mathgroup at smc.vnet.net
- Subject: [mg63351] Re: [mg63336] Pattern matching at bottom depth
- From: "Carl K. Woll" <carlw at wolfram.com>
- Date: Sat, 24 Dec 2005 16:02:59 -0500 (EST)
- References: <200512241219.HAA16002@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Barthelet, Luc wrote:
> I have a function Foo (attribute hold) that will take 3D Points as
> arguments either in a list or a list of lists.
>
> So I can call:
>
> Foo[{{0,0,0},{1,2,3}}]
>
> Or
>
> Foo[{{{0,0,0},{1,1,1}},{{1,1,1},{2,2,2},{3,4,3}}}]
>
> Now, I would like to pattern match the triplets, so that I can run a
> transformation (transform[u]) on them before releasing the hold on Foo.
>
> Currently I do it with 2 rules and the conditional use of dimensions.
>
> Foo [u_ /; Length[Dimensions[u]] == 2] :> Foo [transform /@ u],
> Foo [u_ /; Length[Dimensions[u]] == 3] :> Foo [Map[transform, u,{2}]]
>
> Is there a better way to do this?
>
> Thanks
>
> Luc
>
>
Luc,
Try
Map[transform,u,{-2}]
Carl Woll
Wolfram Research
- References:
- Pattern matching at bottom depth
- From: "Barthelet, Luc" <lucb@ea.com>
- Pattern matching at bottom depth