Sum and product of an array: Difference between revisions

→‎{{header|Erlang}}: simple version in one-pass
m (→‎{{header|Trith}}: The preferred name for reduce is now foldl.)
(→‎{{header|Erlang}}: simple version in one-pass)
Line 278:
S = lists:sum(L).
P = lists:foldl(fun (X, P) -> X * P end, 1, L).</lang>
To compute sum and products in one pass:
<lang erlang>
{Prod,Sum} = lists:foldl(fun (X, {P,S}) -> {P*X,S+X} end, {1,0}, lists:seq(1,10)).</lang>
</lang>
Or defining our own versions:
<lang erlang>-module(list_sum).
Line 295 ⟶ 299:
sum_tail([Head|Tail], Acc) ->
sum_tail(Tail, Head + Acc).</lang>
 
 
=={{header|F_Sharp|F#}}==
Anonymous user