我是一个有用的助手,可以帮您进行文本翻译。
我正在尝试从Prolog列表中删除第一次出现的元素。我的代码如下:
但在首次出现后,删除X:
我正在尝试从Prolog列表中删除第一次出现的元素。我的代码如下:
remove_first_X(X,[X|Xs],Xs). %remove X
remove_first_X(X,[Y|Xs],[Y|Xs]) :-
remove_first_X(X,Xs,Xs).
无法工作:
?- remove_first_X(1,[1,2,3],[2,3]).
true.
?- remove_first_X(1,[2,1,3],[2,3]).
false.
请帮忙! :-)
另一个尝试更接近了:
remove_first_X(X,[X|Xs],Xs).
remove_first_X(X,[Y|Xs],[Y|Ys]) :-
remove_first_X(X,Xs,Ys).
但在首次出现后,删除X:
?- remove_first_X(1,X,[2,1,0]).
X = [1, 2, 1, 0] ;
X = [2, 1, 1, 0] ;
X = [2, 1, 1, 0] ;
X = [2, 1, 0, 1] ;
false.