List[Try[T]] to Try[List[T]] in Scala

前端 未结 4 1075
天涯浪人
天涯浪人 2021-01-20 22:04

I would like to know how to convert a List[Try[T]] into Try[List[T]] in Scala?

I have tried using an accumulator and folding right but it do

4条回答
  •  轻奢々
    轻奢々 (楼主)
    2021-01-20 22:06

    Using cats it's as easy as:

    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
    

    More information in the Traverse docs.

提交回复
热议问题