在列表中添加整数
由于某种原因,这不起作用。我得到: 错误:is/2:参数未充分实例化
1 add_list([]).
2 add_list([H|T]):-
3 Sum2 is Sum1 + H,
4 add_list(T).
我正在尝试添加列表的内容(仅包含数字)。
For some reason, this is not working. I am getting:
ERROR: is/2: Arguments are not sufficiently instantiated
1 add_list([]).
2 add_list([H|T]):-
3 Sum2 is Sum1 + H,
4 add_list(T).
I am trying to add the contents of a list (containing only numbers).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我不确定你想做什么。但是,如果您尝试计算总和,则会这样(将名称更改为 list_sum,因为 add_list 没有任何意义):
I'm not sure what you are trying to do. But if you are trying to calc total sum it will be this way (changed name to list_sum as add_list doesn't make any sense):
您可以使用 Foldl 拥有“功能性思维”:
You can have a "functionnal mind" with foldl :
或者,您也可以使用累加器(优点是,它是尾递归的,因此可以优化)
Alternatively you could also use an accumulator (the advantage is, that it is tail-recursive and therefore can be optimized)