正如标题所暗示的那样,它的宝贝在prolog
的世界里为我迈进了一步。我将一个整数列表传递给谓词。然后将该列表传递给另一个谓词,该谓词计算并打印结果总和。这是我的代码:
solve_dots(boardSize, boardRowVals) :-
sum(boardRowVals,Sum),
write(Sum).
sum([],0).
sum([X|Tail],Sum):-
sum(Tail,Temp),
Sum is Temp + X.
输入:
?- solve_dots(3,[0,2,1]).
在这种情况下,输出始终为false
。但是,如果我运行下面的代码,它可以正常工作:
findsum(L) :-
sum(L,Sum),
write(Sum).
sum([],0).
sum([X|Tail],Sum):-
sum(Tail,Temp),
Sum is Temp + X.
我无法弄清楚我的输入究竟是做了什么错误使它变错了?