Я хотел создать «функцию», которая «возвращает» четные элементы списка:
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]
Что не так?
Спасибо