【发布时间】:2021-12-18 19:20:01
【问题描述】:
我有一系列左右值,例如:
val l: Seq[Either[Error, Data]] = Seq(Left(Error), Right(Data), ...)
我想映射所有Right 值并显示Left 的错误。
我试过了:
val data: Seq[Data] = l.flatMap {
case Right(data) => data
case Left(err) => println(err) // doesn't work because println is Unit
}
有什么办法吗?
【问题讨论】:
-
不要试图同时做两件事,使用
partitionMap将列表分成两部分,然后使用带有错误列表的foreach打印它们。