Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Prolog中强制失败?_Prolog - Fatal编程技术网

如何在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. 请参见,特别是最后一个答案可能检查(,

在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.
请参见,特别是最后一个答案可能
检查(,,[1,2,3]):-!,失败。