Prolog输出消息理解

Prolog输出消息理解,prolog,Prolog,这是一个非常快的一个,我不知道正确的方式谷歌它 假设我们有这样的输出: X = [4|_1218] 通常需要改变什么才能得到输出,比如4 member1(Head, [Head|_]):-!. member1(Item, [_|Tail]):- member1(Item, Tail). findnotin([Head|_], RuledOut, [Head|_]):- not(member1(Head, RuledOut)). 编辑Completedish程序: f

这是一个非常快的一个,我不知道正确的方式谷歌它

假设我们有这样的输出:

X = [4|_1218]
通常需要改变什么才能得到输出,比如4

member1(Head, [Head|_]):-!.   
member1(Item, [_|Tail]):-
    member1(Item, Tail).


findnotin([Head|_], RuledOut, [Head|_]):-
    not(member1(Head, RuledOut)).
编辑Completedish程序:

find_not_in([], _, _).
find_not_in([Head|Candidates], RuleOut, [Head|Legal]):-
    not(member1(Head, RuleOut)),
    find_not_in(Candidates, RuleOut, Legal).

find_not_in([_|Candidates], RuleOut, Legal):-
    find_not_in(Candidates, RuleOut, Legal).

问题是什么?你的意思是不是
[4]
?findnotin([4,2,1,6],[2,1,6],X)@WillemVanOnsemI已经对程序进行了一些更新@WillemVanOnsem我只是想得到一些指导真正尝试使用基本情况进行测试:
find_not_in([]),[uuu,[])。
说得清楚,
find_not_in([],[uu,[uu])就是说,在任何规则的空列表中找不到任何东西的结果就是任何东西。结果不应该是什么。结果应该是一个空列表。因此,
在([],[u,[])中查找不在(
)。