朱莉娅(Julia)中有一个懒惰且迭代的“地图”吗?

时间:2019-03-19 05:21:08

标签: julia

map函数似乎很急,例如

map(x->x+1, 1:3)给出一个[2,3,4]

我想找到map的一个惰性迭代版本,以便不会一次生成所有值,所以我只能从map的结果中一个个地获取值?< / p>

1 个答案:

答案 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