我有一个过程[任务,A]。 A包含Bs的Seq
case class A(elems:Seq[B])
我想将Process [Task,A]转换为Process [Task,B]
def streamOfAs:Process[Task,A] = ???
streamOfBs1:Process[Task,Member] = streamOfAs.flatMap(Process.emit(_.elems)) //Compiler error
streamOfBs2:Process[Task,Member] = streamOfAs pipe process1.lift((a:A) => a.elems) //yields Process[Task,Seq[B]]
是否有任何buildtin功能来实现这一目标?
答案 0 :(得分:1)
如果我理解正确,案例A类基本上是函数A => SEQ [B]
然后解决方案可能是
val sourceB: Process[Task,B] = sourceA.flatMap(emitAll(_.elems))