以下两行是什么意思?

时间:2019-01-05 17:01:40

标签: prolog

adjacent(X, Y) :- X =:= Y+1.
adjacent(X, Y) :- X =:= Y-1.

这些是什么意思?我知道运算符\=的含义。与此相似吗?

1 个答案:

答案 0 :(得分:0)

更复杂的谓词被定义为规则,例如上面显示的示例。 =:=运算符同时评估两个参数并比较结果。

因此adjacent(X, Y) :- X =:= Y+1指出adjacent(X, Y)如果X等于Y + 1则为true,否则为false。

因为还有一个规则adjacent(X, Y) :- X =:= Y-1,所以X可以等于Y-1才能使规则成立。

总而言之,要使规则成立,X必须等于Y +1或Y-1。

来源:

  1. https://learnxinyminutes.com/docs/prolog/
  2. http://rigaux.org/language-study/syntax-across-languages-per-language/Prolog.html