如何在Prolog中强制失败?

时间:2013-04-03 01:55:39

标签: prolog

在prolog中,是否有可能强制失败?类似的东西:

check(F,A,[1,2,3]) :- FAIL.
check(F,A,_) : greater_than(F,A).

这可能是一个不好的例子,但是就这一点而言。

因此,如果它在F,A,[1,2,3]上进行模式匹配,那么我们只需停止谁统一进程,并返回false。

1 个答案:

答案 0 :(得分:1)

Prolog有一个内置的fail/0谓词,它始终失败。您需要在其前面剪切!,以防止进一步匹配相同的check/3规则:

check(F,A,[1,2,3]) :- !, fail.