gpt4 book ai didi

for-loop - 在 Elixir 中模拟 for 循环的最佳方法?

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

常见的命令式编程语言提供循环结构来多次运行一段代码?例如for循环:
伪代码:

for(i=0;i<256;++i){
expression one;
statement one;
many code goes here
}

for循环中的大块代码会被执行很多次。
但是作为一种函数式编程语言,Elixir 没有提供循环。我知道 Enum 模块提供了许多用于多次迭代代码的功能。例如
Enum.each(0..99, fn(x) -> IO.puts "hello, world!" end)

上面的代码将被执行 100 次。打印 100 “你好,世界!”但这只是一句话。如何在 Elixir 中执行 n 次大块代码?什么是正确的 Elixir 方法?我是 Elixir 的新手。你们能给我一个小的示例代码来学习吗?非常感谢你们所有人!

最佳答案

您的问题有一个足够好的解决方案。 Enum.each是应用函数 X 次的一种真正的方法。
也许如果我们以不同的方式格式化它,你可能会看到你能做什么:

Enum.each(0..99, fn(_x) ->
IO.puts "hello, world!"
end)
该函数与任何其他函数一样,只是它是内联定义的。
所以,只需添加更多代码行......
Enum.each(0..99, fn(x) ->
IO.puts "hello, world!"
IO.puts x
end)
如果要引用已定义的函数,可以传递函数签名:
defmodule Test do

def bar(x) do
IO.puts "hello, world!"
IO.puts x
end

def foo do
Enum.each(0..99, &bar/1)
end

end

关于for-loop - 在 Elixir 中模拟 for 循环的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47533781/

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