Playframework 交错枚举器播放2.0

Playframework 交错枚举器播放2.0,playframework,playframework-2.0,enumerators,Playframework,Playframework 2.0,Enumerators,尝试在play 2.0.4中了解枚举数-我想将一个枚举数与另一个枚举数交错,但长度仅与第一个枚举数的长度相同(独占)。 因此: 内置交织包括超过第一个枚举数的末尾,直到第二个枚举数的末尾 val commas : Enumerator[String] = { Enumerator(", ", ", ", ", ") } val words : Enumerator[String] = { Enumerator("hello", "world!") } Ok.stream(words in

尝试在play 2.0.4中了解枚举数-我想将一个枚举数与另一个枚举数交错,但长度仅与第一个枚举数的长度相同(独占)。 因此:

内置交织包括超过第一个枚举数的末尾,直到第二个枚举数的末尾

val commas : Enumerator[String] = {
  Enumerator(", ", ", ", ", ")
}
val words : Enumerator[String] = {
  Enumerator("hello", "world!")
}
Ok.stream(words interleave commas andThen Enumerator.eof)
制作“你好,世界”,而不是“你好,世界”


非常感谢您的帮助

枚举数通常会一直处理到使用为止,因此在您的场景中,一旦找到一个枚举数,就会处理另一个枚举数的剩余部分,因此预期结果是这样的

您似乎需要的是一个
Iteratee
,它处理输出并相应地进行过滤。您可以在中找到一些示例


另一种可能的方法是使用
枚举
(请参阅)转换交错的输出。

谢谢,我一直在努力尝试迭代/枚举,但这本质上是我的问题。找到这些文档有点困难,所以任何指导都很感激。
val commas : Enumerator[String] = {
  Enumerator(", ", ", ", ", ")
}
val words : Enumerator[String] = {
  Enumerator("hello", "world!")
}
Ok.stream(words interleave commas andThen Enumerator.eof)