prolog中的算术变量
我想处理包含变量的算术表达式。变量应保持原样,其他部分应进行计算。比如说,prolog中的算术变量,prolog,Prolog,我想处理包含变量的算术表达式。变量应保持原样,其他部分应进行计算。比如说, ?-result(7*x,R). R=7*x. ?-result(x+(2*3),R). R=x+6. 我该怎么做呢?哦,我很抱歉我的马虎。我刚刚编辑了它。定义规则,如result(X*Y,R):-…并检查X或Y是否实际上是一个数字(如果X是一个数字,则可以使用number(X),这是真的)。评估它们是否是数字,如果不是原子,则递归处理(例如,x是原子,但x+3不是)。如果你被困在某个地方,试一下,然后带着一个具体的
?-result(7*x,R).
R=7*x.
?-result(x+(2*3),R).
R=x+6.
我该怎么做呢?哦,我很抱歉我的马虎。我刚刚编辑了它。定义规则,如
result(X*Y,R):-…
并检查X
或Y
是否实际上是一个数字(如果X
是一个数字,则可以使用number(X)
,这是真的)。评估它们是否是数字,如果不是原子,则递归处理(例如,x
是原子,但x+3
不是)。如果你被困在某个地方,试一下,然后带着一个具体的问题回来。你还需要解释你所说的过程是什么意思。你是说简化?例如,您是否希望获得,3*(x+4)-(x+5)
,并获得R=2*x+7
?这非常适合Prolog,但不是初学者的程序。