在prolog中,是否有可能强制失败?类似的东西:
check(F,A,[1,2,3]) :- FAIL.
check(F,A,_) : greater_than(F,A).
这可能是一个不好的例子,但是就这一点而言。
因此,如果它在F,A,[1,2,3]上进行模式匹配,那么我们只需停止谁统一进程,并返回false。
答案 0 :(得分:1)
Prolog有一个内置的fail/0
谓词,它始终失败。您需要在其前面剪切!
,以防止进一步匹配相同的check/3
规则:
check(F,A,[1,2,3]) :- !, fail.