标签: elixir
复制受给定长度限制的列表模式的最佳方法是什么?
例如:
给定模式[1,2,3]和长度7,结果将为[1, 2, 3, 1, 2, 3, 1]
[1,2,3]
7
[1, 2, 3, 1, 2, 3, 1]
答案 0 :(得分:9)
我能想到的最简单的方法是使用Stream.cycle/1和Enum.take/2:
Stream.cycle/1
Enum.take/2
iex(1)> [1, 2, 3] |> Stream.cycle() |> Enum.take(7) [1, 2, 3, 1, 2, 3, 1]