我試圖使用printlist/1
謂詞來總結所有清單,但那種被困人數....試圖拿出來總結所有號碼這個代碼,但我不斷收到false
。使用在序言中的printList/1謂詞在列表
這裏是我想出來的:
printlist([]).
printlist([H|T], Totalsum) :-
print (H+Totalsum),
nl,
printlist(T, Totalsum).
我知道這是錯誤的,它可能是最後一部分。任何幫助表示讚賞!
我查詢這種方式:
?- printlist([1,2,3]).
false.
你能否跟進另一個謂詞定義,即*尾遞歸*? –
爲什麼使用名稱'printlist'?這意味着使用副作用,幸運的是,你不使用這些副作用。將謂詞重命名爲「list_sum」或類似的東西如何? – repeat
@repeat。的確,list_sum更好。 – hartmut