打破列表并使用索引号标记每个元素

时间:2010-10-21 15:19:41

标签: erlang

如何拆分作为参数传递给函数的列表,并用数字标记每个元素?

我遇到的问题是如何增加erlang,因为没有for循环。

谢谢

1 个答案:

答案 0 :(得分:5)

这是你想要做的吗?

tagger(List) ->
    tagger(List, 0).
tagger([Head|Tail], Index) ->
    [{Head, Index}|tagger(Tail, Index + 1)];
tagger([], _Index) ->
    [].

因为如果是,您可以使用lists:mapfoldl

lists:mapfoldl(fun (A, AccIn) -> {{A, AccIn}, AccIn + 1} end, 0, List).