2017-12-16 20 views
2

私は無期限にシーケンスを繰り返す方法を探しています。Juliaイテレータを無期限に繰り返します。

julia> repeat(1:3, outer=2) 
9-element Array{Int64,1}: 
1 
2 
3 
1 
2 
3 

に匹敵するが、外側と 何かが無限大と結果であるイテレータ(いない配列)

とIはIterTools ため繰り返しと

for i in repeatedly([1:3]) 
    @show i 
end 

を試みているが、それはエラーが発生し。

答えて

4

バージョン0.6以降では、Base.Iterators.cycleを使用できます。たとえば、次のサイクル(1:3)での私のために `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 
+0

おかげ 私は 睡眠は、(1) end'''は – scls

+0

確かに、より良い例かもしれない@showそれは良い例でもあります。読者が貼り付けることができるコードでは、それ自身で終了させる方が良いです。 –

+1

私はあなたが内側の 'collect'を必要としないと思います –

関連する問題