Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala Akka stream,一旦我收到一些物品,触发动作?_Scala_Akka_Akka Stream - Fatal编程技术网

Scala Akka stream,一旦我收到一些物品,触发动作?

Scala Akka stream,一旦我收到一些物品,触发动作?,scala,akka,akka-stream,Scala,Akka,Akka Stream,我正在akka streams中寻找“聚合器”块。例如,一个块等待收到3个字符串,然后触发一个操作(如计算平均长度),并向下游传播该操作的结果 例如,流将等待接收三个字符串 "hallo" "boat" "cat" 然后计算平均长度 4 然后把它送到下游。实现这一点最简单的方法是什么?这取决于需求,但在您的特定情况下,您可以这样做 Source(List(1, 2, 3, 4, 5, 6, 7)) .grouped(3) .map { chunk => chunk.su

我正在akka streams中寻找“聚合器”块。例如,一个块等待收到3个字符串,然后触发一个操作(如计算平均长度),并向下游传播该操作的结果

例如,流将等待接收三个字符串

"hallo"
"boat"
"cat"
然后计算平均长度

4

然后把它送到下游。实现这一点最简单的方法是什么?

这取决于需求,但在您的特定情况下,您可以这样做

Source(List(1, 2, 3, 4, 5, 6, 7))
  .grouped(3)
  .map { chunk =>
    chunk.sum / 3.0
  }
您也可以使用
.scan
来执行此操作