Добавить элементы в другой список, который соответствует определенному условию в Прологе - PullRequest
0 голосов
/ 20 апреля 2020

Здравствуйте. Я хочу создать программу на Прологе, в которой в качестве входных данных будет указан список, а результатом будет список, но только с элементами, удовлетворяющими определенному условию. Пример: Вывести все элементы фильтра <6. </p>

([1,6,4,9,13,5,2], X). -> X = [1,4,5,2].

Я пытался сделать это:

filter([],[]).
filter([P|R], X) :-
    P < 6,
    filter(R, [P|X]).

Почему это не работает? Я знаю, что могу использовать findall, но я хотел бы понять этот «ручной» метод. Спасибо

...