map
函数似乎很急,例如
map(x->x+1, 1:3)
给出一个[2,3,4]
。
我想找到map
的一个惰性迭代版本,以便不会一次生成所有值,所以我只能从map
的结果中一个个地获取值?< / p>
答案 0 :(得分:3)
您可以为此使用Base.Generator
,例如在您的情况下:
julia> g = (x + 1 for x in 1:3)
Base.Generator{UnitRange{Int64},getfield(Main, Symbol("##5#6"))}(getfield(Main, Symbol("##5#6"))(), 1:3)
julia> collect(g)
3-element Array{Int64,1}:
2
3
4