re: pattern matching in M
- To: mathgroup at yoda.physics.unc.edu
 - Subject: re: pattern matching in M
 - From: gaylord at ux1.cso.uiuc.edu
 - Date: Mon, 18 May 1992 16:24:08 -0500
 
somebody wrote:
given
x = {{3,4},{2,3},{1,2},{5,6}}
he or she wants to pick out the pairs whose second elements are either 2 or
6 and add the pairs together, preferably using a transformation rule.
here you go: 
Cases[x, {_,2}|{_,6}]
{{1, 2}, {5, 6}}
Cases[x, {_,2}|{_,6}]/.List->Plus
14
this doesn't work because it replaces every occurance of List
Apply[Plus,Cases[x, {_,2}|{_,6}]]
{6, 8}
this works fine since it only replaces the head of the entire expression
Cases[x, {_,2}|{_,6}]/.{x_, y_} :> x + y
{6, 8}
this also works fine