如何在Prolog中强制失败?
在prolog中,是否可以强制失败?比如:如何在Prolog中强制失败?,prolog,Prolog,在prolog中,是否可以强制失败?比如: check(F,A,[1,2,3]) :- FAIL. check(F,A,_) : greater_than(F,A). 这可能是一个坏例子,但与此类似 因此,如果它对F,a,[1,2,3]进行模式匹配,那么我们就停止who统一过程,并返回false。Prolog有一个内置谓词,它总是失败。你需要剪掉在其前面,以防止进一步匹配相同的检查/3规则: check(F,A,[1,2,3]) :- !, fail. 请参见,特别是最后一个答案可能检查(,
check(F,A,[1,2,3]) :- FAIL.
check(F,A,_) : greater_than(F,A).
这可能是一个坏例子,但与此类似
因此,如果它对F,a,[1,2,3]进行模式匹配,那么我们就停止who统一过程,并返回false。Prolog有一个内置谓词,它总是失败。你需要剪掉代码>在其前面,以防止进一步匹配相同的检查/3
规则:
check(F,A,[1,2,3]) :- !, fail.
请参见,特别是最后一个答案可能检查(,,[1,2,3]):-!,失败。