Prolog中的奇怪运算符(!)

时间:2011-05-05 09:58:55

标签: prolog operators prolog-cut

hi(g,plus(A,B),int) :- hi(g,A,int),hi(g,B,int),!.  

在上面的陈述中有什么'!'在声明结尾处签字吗?

1 个答案:

答案 0 :(得分:8)

那是cut operator,基本上说“如果我们到达这里,不要回溯。”

因此,如果两个递归调用都成功,hi谓词将不会重试它们。