将List.flatten应用于流

时间:2018-06-19 08:25:16

标签: stream elixir

以下管道:

items
...
|> Stream.map(&process/1)

生成这种结构:

[ [], [], [], [] ]

我希望它是一个扁平的列表。

不使用流我会做:

|> Enum.map(&process/1)
|> List.flatten

但我想将它用作流,但无法弄清楚如何应用List.flatten并生成一个流。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用Stream.flat_map/2,这应该会有所帮助:

items
...
|> Stream.flat_map(&process/1)

这将继续处理您elementitems结果中的flatten

希望有所帮助!