Pattern Matching Uneven

I would like to extract arguments from Inequality instances. The following does not work, any idea why and how to fix it?

 Inequality [1, Less, x, Less, 2] /.  Inequality [a_, _, c_, _, e_] -> {a, c, e}
+7
wolfram-mathematica
source share
3 answers
Inequality[1,Less,x,Less,2] /. HoldPattern[Inequality[a_,_,b_,_,c_]] -> {a, b, c} Out: {1, x, 2} 
+8
source share

Alternatively, you can do this:

Inequality [1, Less, x, Less, 2] /. Literal @ Inequality [a_, _, c_, _, e_] → {a, c, e}

ADL

+1
source share

Why aren't you using standard subexpression access?

expr = inequality [1, less, x, less, 2]; {a, c, e} = {expr [[1]], expr [[3]], expr [[5]]};

0
source share

All Articles