我正在生成这样的替换规则列表
ops = {LessEqual, GreaterEqual};
ineqRules = Table[HoldPattern[Inequality[a_, op1, c_, _, e_]] -> a == c, {op1, ops}]
以上不起作用,因为 HoldPattern 从 Table 中隐藏了“op1”,我该如何解决?
这是之前 question 的后续
最佳答案
怎么样
ops = {LessEqual, GreaterEqual};
ineqRules = (HoldPattern[Inequality[a_, #, c_, _, e_]] :> a == c) & /@ ops
编辑:要解决 belisarius 的回答中提到的问题,请尝试:
ineqRules=Flatten[{HoldPattern[Inequality[a_,#,c_,___]]:>a==c,HoldPattern[#[a_,c_]&&___]:>a==c}&/@ops]
这显然取决于你有一个简单的结构开始,即没有其他&&。
关于wolfram-mathematica - 将东西放入 HoldPattern 中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3851664/