Prolog-变量as运算符
我在一个变量Op中存储了一个运算符,在X和Y中存储了两个整数。现在,我想做一些类似(Z是X Op Y)的事情,但这种语法似乎不正确 有人知道在Prolog中是否有这样做的方法吗Prolog-变量as运算符,prolog,Prolog,我在一个变量Op中存储了一个运算符,在X和Y中存储了两个整数。现在,我想做一些类似(Z是X Op Y)的事情,但这种语法似乎不正确 有人知道在Prolog中是否有这样做的方法吗 感谢您的回答您可以模仿以下效果: operator(Z,X,plus,Y):-Z is X + Y. operator(Z,X,times,Y):-Z is X * Y. 我在ideone.com上为SWI Prolog尝试了以下内容: OP=times, operator(Z,3,OP,8). 我得到: OP
感谢您的回答您可以模仿以下效果:
operator(Z,X,plus,Y):-Z is X + Y.
operator(Z,X,times,Y):-Z is X * Y.
我在ideone.com上为SWI Prolog尝试了以下内容:
OP=times, operator(Z,3,OP,8).
我得到:
OP = times,
Z = 24.
您可以通过使用=。。接线员 像这样尝试:
compute(X,Y,Op,Z) :-
Eq=..[Op, X, Y],
Z is Eq.
算符实际上和其他函子一样