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