prolog - 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]
怎么了 ?
谢谢
解决方案
推荐阅读
- python - 如何从 Cython 中的数组列表中检索数组条目
- c - 程序以错误的方式打印字符串。字符串
- javascript - 当用户在 React 中关闭选项卡时如何删除 Firestore 文档?
- docker - 如何使用 docker 在 alpine 图像上以 root 用户身份运行 bash?su:必须 suid 才能正常工作
- python - 在 CentOS 7 的本地环境中安装 CMake 软件包时出现问题
- json - 使用 jq 来“清除”值
- swift - #file 是否被视为 Swift 中的文字字符串?
- sql - Postgres SQL:如何在postgres中为同一时间戳选择“媒体”列中的最大值?
- angular - Angular Reactive Forms - 下拉菜单未显示所选值
- r - 如何合计每一行但仅使用某些列来创建新列?