0

在序言中,是否可以强制失败?就像是:

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

这可能是一个不好的例子,但与此类似。

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

4

1 回答 1

1

Prolog has a built-in fail/0 predicate, which always fails. You need a cut ! in front of it in order to prevent further matching of the same check/3 rule:

check(F,A,[1,2,3]) :- !, fail.
于 2013-04-03T14:44:53.747 回答