Prolog操作员声明

示例

在Prolog中,可以使用op/3以下命令定义自定义运算符:

op(+Precedence, +Type, :Operator)

  • 声明运算符为具有优先级的类型的运算符。运算符也可以是名称列表,在这种情况下,列表的所有元素都声明为相同的运算符。

  • 优先级是介于0和1200之间的整数,其中0删除声明。

  • 类型为下列之一:xf,yf,xfx,xfy,yfx,fy或fx其中f指示函子的位置和x与y指示的参数的位置。y表示优先级低于或等于函子的优先级的术语,而x表示严格较低的优先级。

    • 前缀:    fx,fy

    • 中缀:(    xfx不关联),xfy(右关联),   yfx(左关联)

    • 后缀:   xf,yf

用法示例:

:- op(900, xf, is_true).

X_0 is_true :-
  X_0.

查询示例:

?- dif(X, a) is_true.
dif(X, a).