これは、特定のリストから要素を削除または削除するためのコードです。
remove_elem(X,[],[]).
remove_elem(X,L1,L2) :-
L1 = [H|T],
X == H,
remove_elem(X,T,Temp),
L2 = Temp.
remove_elem(X,L1,L2) :-
L1 = [H|T],
X \== H,
remove_elem(X,T,Temp),
L2 = [H|Temp].
リストからサブリストのすべての出現を削除できるように、どのように変更できますか?
要素にリストを入れようとすると、要素が一度だけ削除されます。
これは次のようになります。
?- remove([1,2],[1,2,3,4,1,2,5,6,1,2,1],L).
L = [3,4,5,6,1]. % expected result