これは文体に関する質問と、Scala の理解を深めるための私の試みの組み合わせです。
Future を含むリストを取得しました。Future の値を計算し、Option に変換し、for 内包表記を使用してリストを平坦化します。
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)
私がやりたいのは、フラット化されたステージを理解することです。誰か提案はありますか?