Тип вопроса с прологом - PullRequest
0 голосов
/ 24 мая 2018

Я хотел создать «функцию», которая «возвращает» четные элементы списка:

elements_pairs([], []).
elements_pairs([H|T], R) :- H mod 2 =:= 0, elements_pairs(T,Rn), R is [H|Rn].
elements_pairs([H|T], R) :- not(H mod 2 =:= 0), elements_pairs(T,Rn), R is Rn.

Этот elements_pairs([1,3,4,6], R) выдает эту ошибку:

ОШИБКА:Ошибка типа: [] ожидается, найдено [4|6] (составной) («x» должен содержать один символ)

ОШИБКА: В: ОШИБКА: [11] _3884 is [4 | 6] ОШИБКА: [10]
elements_pairs ([4,6], _ 3918) в path / tp.pl: 21 ОШИБКА: [9]
elements_pairs ([3,4 | ...], _ 3956) в path / tp.pl: 21 ОШИБКА: [8]
elements_pairs ([1,3 | ...], _ 3994) в пути / tp.pl: 21 ОШИБКА: [7]

Что не так?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...