首页 > 解决方案 > prolog 的类型问题

问题描述

我想创建一个“返回”列表的偶数元素的“函数”:

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 是 [4|6] 错误:[10]
elements_pairs([4,6],_3918) at path/tp.pl:21 错误:[9]
elements_pairs([3,4 |...],_3956) at path/tp.pl:21 错误: [8]
elements_pairs([1,3|...],_3994) at path/tp.pl:21 错误: [7]

怎么了 ?

谢谢

标签: prolog

解决方案


推荐阅读