gpt4 book ai didi

二郎: Breaking out of lists:foreach "loop"

转载 作者:行者123 更新时间:2023-12-04 16:26:36 25 4
gpt4 key购买 nike

我在 Erlang 中有一个元素列表,我使用 list:foreach 遍历列表中的元素。有没有办法在遍历过程中跳出这个“foreach 循环”。例如:假设我想在列表 [2, 4, 5, 1, 2, 5] 中遇到“1”时停止进一步遍历列表。我该怎么做呢?

最佳答案

另一种方法是使用 throwcatch :

catch lists:foreach(
fun(1) ->
throw(found_one);
(X) ->
io:format("~p~n", [X])
end,
[2, 4, 5, 1, 2, 5]).

在 shell 中运行时,输出:
2
4
5
found_one

编辑 :根据大众需求,一个更精确的版本只捕获您想要捕获的内容:
try lists:foreach(
fun(1) ->
throw(found_one);
(X) ->
io:format("~p~n", [X])
end,
[2, 4, 5, 1, 2, 5])
catch
throw:found_one ->
found_one
end.

关于二郎: Breaking out of lists:foreach "loop",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1820241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com