小编G. *_*dre的帖子

Prolog:具有真假值

我正在学习使用 SWI Prolog,我正在学习使用列表。一个小练习是检查一个元素是否在列表中。这是我得到的:

member(X,[X|_]).
member(X,[_|T]):-member[X|T].
Run Code Online (Sandbox Code Playgroud)

第一种情况按预期进行:

?- member(a,[b,a]).
true.
Run Code Online (Sandbox Code Playgroud)

但第二个没有,因为似乎出现了一些回溯:

?- member(a,[a,b]).
true ;
false.
Run Code Online (Sandbox Code Playgroud)

我怎样才能防止这种情况发生,即让 Prolog 只返回true?(我不想忽略 false。)

list prolog

1
推荐指数
1
解决办法
2659
查看次数

标签 统计

list ×1

prolog ×1