我正在使用 Play 框架中的枚举器/迭代器我有几个枚举器,每个枚举器都提供排序的值序列。我想编写 Iteratee/Enumeratee 来合并来自这些枚举器的值以提供所有值的排序序列。使用 Iteratee 是个好主意还是应该直接实现 enumeratee?我知道我可以压缩来自枚举器的值并在内存中重建它们的数据流,然后合并这些数据。
但我想知道是否有办法实现“经典”合并排序 - 从所有枚举器中“读取”第一个值,然后选择最小值,然后让提供它的枚举器读取另一个值(而其他枚举器是等候接听)。因此,我希望 enumeratee 提供结果排序序列,而不将所有流存储在内存中。而且我想遵循功能风格 - 保持一切不可变。
感谢您的想法。