цикл foreach со счетчиком - PullRequest
       8

цикл foreach со счетчиком

5 голосов
/ 24 января 2011

Я бы хотел добавить в этот цикл счетчик, чтобы узнать строку каждого элемента списка. У вас есть простое решение?

lists:foreach(fun(X) .... end,Y),

Ответы [ 2 ]

10 голосов
/ 24 января 2011

Использовать списки: сложить или написать собственную функцию:

lists:foldl(fun(E,Cnt) -> ..., Cnt+1 end, 0, Y),
2 голосов
/ 24 января 2011

Если вы хотите бросить свой собственный, это работает, как требуется:

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.

Функция F будет вызываться с двумя параметрами - отдельной записью из списка и ее индексом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...