이것은 문체적인 질문과 나의 스칼라 이해를 넓히려 고 시도한 것의 조합입니다.시도 할 수 없습니다. 이해를 시도하십시오
import scala.util.Try
import scala.concurrent._
import ExecutionContext.Implicits.global
val l= List(Future.successful(1),Future.failed(new IllegalArgumentException))
implicit def try2Traversible[A](xo: Try[A]): Iterable[A] = xo.toOption.toList
val res = for{f <- l; v <- f.value} yield v
scala> res: List[scala.util.Try[Int]] = List(Success(1), Failure(java.lang.IllegalArgumentException))
res.flatten
res16: List[Int] = List(1)
는 내가하고 싶은 것은 얻을 수 있습니다 :
나는 미래의가, 나, 선물의 값을 계산 옵션의로 변환하고,이 이해를 위해 사용하여 목록을 평평하게 할 포함 된 목록을 가지고있다 이해하기 쉬운 무대로, 어떤 제안이있어?
미래 선물 목록을 미래의 목록으로 변환하려면 'Future.sequence'를 사용해야합니다. –
하하하, 알 겠어. 바퀴를 재발 명했다. 업데이트 됨. – gzm0