16 lines
314 B
Elixir
16 lines
314 B
Elixir
defmodule ListHelper do
|
|
def sum(list) do
|
|
do_sum(0, list)
|
|
end
|
|
|
|
defp do_sum(current_sum, []) do
|
|
current_sum
|
|
end
|
|
|
|
defp do_sum(current_sum, [head | tail]) do
|
|
# More concise implementation
|
|
# do_sum(current_sum + head, tail)
|
|
new_sum = head + current_sum
|
|
do_sum(new_sum, tail)
|
|
end
|
|
end
|