假设我有两个枚举器
在我的实际应用中,我正在流式传输两个文件,并需要将它们连接起来进行流式输出。
enum1
和 enum2
,它们必须进行惰性迭代(因为它们具有副作用)。如何构建第三个枚举器 enum3
,其中 enum3.each{|x| x}
会惰性地返回等同于 enum1 + enum2
的内容?在我的实际应用中,我正在流式传输两个文件,并需要将它们连接起来进行流式输出。
flat_map
解决方案。尽管我们已经验证了flat_map
的惰性,但这并没有让我们想到将其用作惰性附加! :) - ms-aticoncated_enum.size
始终返回nil
。 - skaleeenums.lazy.flat_map(&:lazy)
这样写更简洁。你也可以加上它的工作原理解释。 - Jonah