so bin ich ziemlich neu zu Prolog und ich muss alle Elemente einer Liste zusammenzählen.Hinzufügen von Elementen einer Liste in Prolog
listSum([],0).
listSum([Head|Tail], Sum) :- listSum(Tail,TailSum), Sum is Head + TailSum.
Das Ziel ist, diese Schwanz-rekursiv zu machen und ich habe mich gefragt, ob das eine bessere Art und Weise war es, als dies oder
listSum([],0).
listSum(List, Sum) :- listSum(List,Sum,0).
listSum([H|T], Sum, S) :- S1 is S+H, listSum(T, Sum, S1).
listSum([], Sum, S) :- Sum is S.
zu tun ist, dass völlig in Ordnung zu tun? Nur um zu sehen, ob es einen offensichtlichen Weg gibt, den obigen Code zu verbessern, den ich verpasse.
Danke.
Wunderbar, danke für die schnelle und große Antwort :) – mvantastic