I would like to add a counter in this loop in order to know the row of each element of the list. Do you have a simple solution?
lists:foreach(fun(X) .... end,Y),
Use lists:foldl or write your own function:
lists:foldl(fun(E,Cnt) -> ..., Cnt+1 end, 0, Y),
If you want to roll your own, this appear to work as required:
foreach_index(F, [H|T]) ->
foreach_index(F, [H|T], 0).
foreach_index(F, [H|T], N) ->
F(H, N),
foreach_index(F, T, N + 1);
foreach_index(F, [], N) when is_function(F, 2) -> ok.
The function F
will be called with two parameters - the individual entry from the list and its index.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With