list_sum([], 0).
list_sum([Head | Tail], TotalSum) :-
list_sum(Tail, Sum1),
Total = Head + Sum1.
Этот код возвращает true
. Если я заменю Total = Head + Sum1
на Total is Head + Sum1
, он вернет значение. Но чем мне его заменить, чтобы получить вот такой результат:
?- list_sum([1,2,0,3], Sum).
Sum = 1+2+0+3 ; % not to return value 6!!!