Образец соответствия Неравенство - PullRequest
7 голосов
/ 04 октября 2010

Я хотел бы извлечь аргументы из случаев неравенства.Следующее не работает, есть идеи, как и как это исправить?

Inequality[1, Less, x, Less, 2] /. Inequality[a_, _, c_, _, e_] -> {a, c, e}

Ответы [ 3 ]

8 голосов
/ 04 октября 2010
Inequality[1,Less,x,Less,2] /. HoldPattern[Inequality[a_,_,b_,_,c_]] -> {a, b, c}


Out: {1, x, 2}
1 голос
/ 04 октября 2010

Также вы можете сделать это:

Неравенство [1, Меньше, Х, Меньше, 2] /. Литерал @ Неравенство [a_, _, c_, _, e_] -> {a, c, e}

ADL

0 голосов
/ 04 октября 2010

Почему вы не используете стандартный доступ к подвыражению?

expr = Неравенство [1, Меньше, Х, Меньше, 2]; {a, c, e} = {expr [[1]], expr [[3]], expr [[5]]};

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...