Powiel możliwe:
Prolog delete: doesn't delete all elements that unify with ElementUsuwanie wszystkich członków listy bez unifikacji w Prologu
W Prologu jeśli piszesz tak:
delete([(1,1),(1,2),(1,1),(3,4)],(1,_),L).
wynik będzie:
L = [ (1, 2), (3, 4)].
Co jest normalne, ponieważ zmienna _ wiąże się z 1 w pierwszym elemencie i szuka dalszych elementów (1,1) i usuwa je.
Czy istnieje sposób na uniknięcie tego zjednoczenia i usunięcie wszystkich członków formularza (1, _). W takim przypadku wynik musi być: L = [(3, 4)].
Works w zasadzie, ale przerwy jeśli elementy listy są niewystarczająco wystąpienia w czasie 'delete_pattern/3' jest prowadzony. – repeat