带计数器的 Foreach 循环

发布于 2024-10-13 05:23:13 字数 103 浏览 0 评论 0原文

我想在这个循环中添加一个计数器,以便了解列表中每个元素的行。你有一个简单的解决方案吗?

列表:foreach(fun(X) .... end,Y),

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),

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

┾廆蒐ゝ 2024-10-20 05:23:13

使用lists:foldl或编写您自己的函数:

lists:foldl(fun(E,Cnt) -> ..., Cnt+1 end, 0, Y),

Use lists:foldl or write your own function:

lists:foldl(fun(E,Cnt) -> ..., Cnt+1 end, 0, Y),
玩物 2024-10-20 05:23:13

如果您想自己动手,这似乎可以按要求工作:

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 - 列表中的单个条目及其索引。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文