В настоящее время я работаю над очень коротким проектом Prolog и просто застрял, пытаясь применить "фильтр", который я создал в списке. У меня есть то, что вы могли бы назвать фильтром готовым, но я не могу его применить. Было бы лучше проиллюстрировать:
filter(A, B)
... выводит "true", если выполняются определенные условия.
filterList(A, [X, Y, Z])
... выводит список, содержащий все элементы из второго аргумента, которые делают выходной фильтр false. (Таким образом, если фильтр (A, X) истинен, выходной сигнал [Y, Z]).
У меня есть функция "фильтр", но теперь мне нужно применить ее к списку, как показано на втором примере, за исключением всех элементов, для которых фильтр возвращает true при применении с первым аргументом.
Итак, если фильтр является простым A == B, функция должна получать A [A, B, A, C, D, A] и выводить [B, C, D], удалив все элементы, для которых фильтр применяется, очевидно.
У меня возникают проблемы с базовой структурой функции, поэтому, если кто-то может предоставить базовый план для такой функции, как это, это будет очень полезно. Я упростил ситуацию настолько, насколько это возможно, поэтому я могу взять все, что вы можете предоставить и изменить для моих нужд.
Спасибо заранее!