我正在使用Scala(z)进行函数式编程学习。
我有一个类型为Future[List[Error \/ Double]]
的值,并希望将其转换为类型为Future[[List[Error] \/ List[Double]]
的内容。
目标是将左侧和右侧分组。
我目前有以下内容:
val foo: Future[List[Error] \/ List[Double]] = {
for {
results <- resultsF
} yield
results.foldLeft(\/[List[Error], List[Double]])({
case (acc, v) if v.isRight => v :: \/-(acc)
case (acc, v) if v.isLeft => v :: -\/(acc)
})
}
然而,我在
::
处收到一个错误提示,因为我的累加器不是一个列表(从外部来看)\/[List[Error], List[Double]]
。应该怎么做?
scalaz.Scalaz._
之后。 - Ende Neu