将序列输入 Akka Stream 的 combine()

Feeding a Sequence into Akka Stream's combine()

如何使用 Akka Stream 的 combine 方法来组合一系列 Sources?例如,val sources = Seq[Source[T,_]].

似乎没有采用 Seq/Iterable/etc...
的方法签名 相反,它需要第一个和第二个元素分别组合,然后为其余元素使用可变参数?

def combine[T, U](first: Source[T, _], second: Source[T, _], rest: Source[T, _]*)(strategy: Int => Graph[UniformFanInShape[T, U], NotUsed]): Source[U, NotUsed]

用 Seq 调用 combine 的最清晰的方法是什么?

也许是这样的:

val source = sources match {
  case Seq(a, b, rest@_*) => combine(a, b, rest:_*)(strategy)
  case Seq(a) => a
  case _ => ??? // handle case when there are no sources: throw? empty source?
}