[erlang-questions] is this a well written function
Roelof Wobben
<>
Mon Feb 9 15:11:20 CET 2015
Roelof Wobben schreef op 9-2-2015 om 14:39:
> sum(End) -> sum_acc(0, 0, End).
>
> sum_acc(Acc, _, 0) ->
> Acc;
> sum_acc(Acc, Current, Rem) ->
> sum_acc(Acc + Current, Current + 1, Rem - 1).
A new try after some remarks :
-module(sum_recursion).
-export([sum/1]).
% when the number is zero the outcome will also be zero
sum(0) ->
0;
% when a number is greater then 0 , call the helper function.
sum(End) when End > 0 ->
sum_acc(0, End).
% When End is equal to zero all the numbers are added
sum_acc(Acc, 0) ->
Acc;
% when end is not zero there are more numbers to be added.
sum_acc(Acc, End) ->
sum_acc(Acc + End, End - 1).
Roelof
More information about the erlang-questions
mailing list