使用 Elixir 的步骤列表
Step List With Elixir
有人可以提供有关如何一次迭代一批 x 的列表的建议吗?
例如:
如果该功能存在:
["1","2","3","4","5","6","7","8","9","10"].step(5)|> IO.puts
将产生两次迭代:
12345
678910
我相信 Stream。iterate/2 是解决方案,但鉴于 数组 我尝试这样做并没有证明有利可图。
Enum.chunk_every/2 (or Stream.chunk_every/2) 会将列表分解为 x 个元素的子列表:
iex> [1,2,3,4,5,6,7,8,9,10] |> Enum.chunk_every(5)
[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]
然后您可以对每个列表进行操作,例如:
iex> ["1","2","3","4","5","6","7","8","9","10"]
|> Enum.chunk_every(5)
|> Enum.each(fn x -> IO.puts x end)
12345
678910
Enum.chunk/2 和 Enum.chunk/2 均已弃用。
有人可以提供有关如何一次迭代一批 x 的列表的建议吗?
例如:
如果该功能存在:
["1","2","3","4","5","6","7","8","9","10"].step(5)|> IO.puts
将产生两次迭代:
12345
678910
我相信 Stream。iterate/2 是解决方案,但鉴于 数组 我尝试这样做并没有证明有利可图。
Enum.chunk_every/2 (or Stream.chunk_every/2) 会将列表分解为 x 个元素的子列表:
iex> [1,2,3,4,5,6,7,8,9,10] |> Enum.chunk_every(5)
[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]
然后您可以对每个列表进行操作,例如:
iex> ["1","2","3","4","5","6","7","8","9","10"]
|> Enum.chunk_every(5)
|> Enum.each(fn x -> IO.puts x end)
12345
678910
Enum.chunk/2 和 Enum.chunk/2 均已弃用。