首页 > 解决方案 > 为什么在尝试从列表中删除双打时出现存在错误?

问题描述

为什么我在这里遇到存在错误,特别是:

uncaught exception: error(existence_error(procedure,list_append/2),noDoubles/2)

我想从列表中删除双打,我尝试使用 prolog 中的“if”。

list_append(X,[],[X]).
list_append(X,L1,[X|L1]).

noDoubles([X],[X]).
noDoubles([H|T],L1):- (member(H,T) -> noDoubles(T,L1);(list_append(H,L1),noDoubles(T,L1))).

我有序言 1.4.4

标签: prolog

解决方案


您已经使用 arity 3 定义了 list_append,并且您正在使用 arity 2 调用 list_append 谓词。


推荐阅读