Val*_*ahu 3 functional-programming scala scalaz scala-cats
我想知道如何在Scala中将List [Try [T]]转换为Try [List [T]]?
我已经尝试过使用累加器并向右折叠,但这似乎并不理想。
使用猫就像这样简单:
import cats._
import cats.data._
import cats.implicits._
import scala.util.{Try, Success, Failure}
val tries: List[Try[Int]] = List(Success(1), Success(2), Success(3))
tries.sequence
Run Code Online (Sandbox Code Playgroud)
有关Traverse文档的更多信息。
Try(list.map(_.get))
Run Code Online (Sandbox Code Playgroud)
这将仅返回第一个失败,因此,如果要捕获列表中的所有失败,则需要更复杂的操作。
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |