5
Scalaを使用してコードを開発しています。Option[T]
を含むコレクション間の基本的な変換をスマートに解決しようとしています。Scalaのオプション[T]をスマートに扱う
のは、我々は次のリスト
val list: List[(A, Option[B])] = // Initialization stuff
を持っているし、我々は次のリストSome[B]
に評価され、すべてのOption[B]
のため
val transformed: List[(B, A)]
に得ることがlist
に変換を適用したいとしましょう。私が見つけた最良の方法は、次のような変換の連鎖を適用することです:
val transformed =
list.filter(_.isDefined)
.map { case (a, Some(b)) => (b, a) }
しかし、私は何かが不足していると感じます。 Option[T]
を処理する最善の方法はどれですか?