Elixir中的懒惰列表理解?

时间:2015-09-07 08:47:33

标签: stream list-comprehension elixir

有没有办法让Elixir中的列表理解变得懒惰?如果没有,有没有办法将其转换为const

Stream

此代码段通过占用太多内存来破坏我的程序。

我想在my_list上应用过滤器,map和reduce。

1 个答案:

答案 0 :(得分:25)

理解是平面地图。所以你的代码相当于:

Stream.flat_map 1..1000000, fn i ->
  Stream.flat_map 1..1000000, fn j ->
    [{i, j}]
  end
end

我已经为"提出了一个"流"并行"对于未来的Elixir版本,但它正在等待该语言的其他一些改进。