私は次のようなことをするプログラムをプロローグで作成しようとしています:
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がセットにあるかどうかをチェックしています
member([H|_], H).
member([_|T], H):- member(T, H).