使用 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 均已弃用。

改用Enum.chunk_every/2 and Stream.chunk_every/2