Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elixir 含长生不老药的步骤列表_Elixir - Fatal编程技术网

Elixir 含长生不老药的步骤列表

Elixir 含长生不老药的步骤列表,elixir,Elixir,有人能提供一个建议,如何迭代一个列表,但每次使用一批x吗 例如: 如果功能存在: ["1","2","3","4","5","6","7","8","9","10"].step(5)|> IO.puts 将在两次迭代中产生: 12345 678910 我相信Stream.iterate/2是一个解决方案,但我在给定数组的情况下这样做的尝试证明是无利可图的。(or)会将列表分解为x元素的子列表: iex> [1,2,3,4,5,6,7,8,9,10] |> Enum.chunk

有人能提供一个建议,如何迭代一个列表,但每次使用一批x吗

例如: 如果功能存在:

["1","2","3","4","5","6","7","8","9","10"].step(5)|> IO.puts
将在两次迭代中产生:

12345

678910

我相信Stream.iterate/2是一个解决方案,但我在给定数组的情况下这样做的尝试证明是无利可图的。

(or)会将列表分解为x元素的子列表:

iex> [1,2,3,4,5,6,7,8,9,10] |> Enum.chunk(5)                   
[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]
然后可以对每个列表执行操作,例如:

iex> ["1","2","3","4","5","6","7","8","9","10"]
     |> Enum.chunk(5)
     |> Enum.each(fn x -> IO.puts x end)
12345
678910

这并不是一个完美的解决方案。如果列表大小不是块大小的倍数,那么它将忽略剩余的元素数。例如,如果数组是[“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“10”、“11”、“12”],那么结果现在将包括11和12。@KshitijMittal在这种情况下,您可以使用
list |>Enum.chunk(5,5,[])
@Gazler谢谢。这些文件,至少对我来说,很难理解。示例非常少,措辞非常简短。