无限期地重复 Julia 迭代器

scl*_*cls 2 iterator generator julia

我正在寻找一种无限重复序列的方法。类似的东西

julia> repeat(1:3, outer=2)
9-element Array{Int64,1}:
 1
 2
 3
 1
 2
 3
Run Code Online (Sandbox Code Playgroud)

但外部是无限的,结果是迭代器(不是数组)

我试过

for i in repeatedly([1:3])
    @show i
end
Run Code Online (Sandbox Code Playgroud)

重复使用IterTools 但会引发错误。

Dan*_*etz 5

在 0.6 及更高版本上,您可以使用Base.Iterators.cycle. 例如:

julia> using Base.Iterators

julia> collect(take(cycle(1:3),10))
10-element Array{Int64,1}:
 1
 2
 3
 1
 2
 3
 1
 2
 3
 1
Run Code Online (Sandbox Code Playgroud)