Prolog - 作为运算符变量

Jea*_*ier 4 prolog

我有一个存储在变量Op中的运算符,并且在X和Y中存储了两个整数.现在,我想做类似的事情(Z是X Op Y),但这种语法似乎不正确.

有人知道Prolog有没有办法做到这一点?

谢谢你的回答

Dav*_*ein 10

你可以通过使用= ..运算符构建谓词来实现.

试试看:

compute(X,Y,Op,Z) :-
   Eq=..[Op, X, Y],
   Z is Eq.
Run Code Online (Sandbox Code Playgroud)

操作员就像任何其他算子一样.