Eindeutige Elemente in einer Liste finden
Ich versuche, eine Regel zu schreiben, die entscheidet, ob ein ArtikelX
kommt genau einmal in einer Liste vorL
.
unique(X, [X|T]):- !, \+ member(X, T).
unique(X, [_|T]):- unique(X, T).
Die Regel bestimmt, ob ein Wert in einer Liste eindeutig ist oder nicht, aber wenn ich versuche, eindeutige Werte in einer Liste mit @ zu erhalteunique(X, [1,2,3,1,3,2,5,4,3,8]).
es gibt nur @ zurüfalse.
Was ich erwartet hatte ist das (wiemember(X, list).
:
X = 5 ;
X = 4 ;
X = 8 ;
Ich bin ein absoluter Anfänger und weiß nicht, was ich falsch mache.