を示しています。Prologは、私はこのような何かを行いますプロローグでプログラムを作成しようとしている違い
diffSet([a,b,c,d], [a,b,e,f], X).
X = [c,d,e,f]
私はこれを書いた:
diffSet([], _, []).
diffSet([H|T1],Set,Z):- member(Set, H), !, diffSet(T1,Set,Z).
diffSet([H|T], Set, [H|Set2]):- diffSet(T,Set,Set2).
をしかし、そのように私は唯一の要素を取得することができます最初のリストどのようにして2番目の要素から要素を抽出できますか?
@edit:Hがセット内にある場合 メンバーはリストから要素を削除builtinあり
member([H|_], H).
member([_|T], H):- member(T, H).
なぜ2番目のリストから重複を削除しますか?最初のものから重複を削除していませんか? – false
@false:delete(T1、H、T2)はうまくいくはずです – CapelliC