标签: prolog
我已经定义了这两个加谓词:
plus1(A, B, C):- C is A + B. plus2(A, B, C):- C = A + B.
如预期的那样,plus1(4, 5, X)给出结果X = 9。
plus1(4, 5, X)
X = 9
但是plus2(4, 5, X)给出的结果为X = 4+5,这没有错,但我原以为结果为9。
plus2(4, 5, X)
X = 4+5
9
那么为什么它不执行任何计算?is和=有什么区别?我什么时候应该使用什么?
is
=
答案 0 :(得分:0)
我不想离开这个问题。
正如 Willem Van Onsem 所说,is用于计算数值表达式,而=用于统一。
我还发现this article关于将来有相同问题的读者的统一。