相关疑难解决方法(0)

巧妙地处理Scala中的Option [T]

我正在使用Scala开发一些代码,我正在尝试巧妙地解决包含一些代码的集合之间的基本转换Option[T].

假设我们有以下列表

val list: List[(A, Option[B])] = // Initialization stuff
Run Code Online (Sandbox Code Playgroud)

我们想要应用转换list来获取以下列表

val transformed: List[(B, A)]
Run Code Online (Sandbox Code Playgroud)

对于所有Option[B]评价的人来说Some[B].我发现这样做的最好方法是应用以下转换链:

val transformed = 
  list.filter(_.isDefined)
      .map { case (a, Some(b)) => (b, a) }
Run Code Online (Sandbox Code Playgroud)

但是我觉得我错过了什么.处理Option[T]s 的最佳方法是哪种?

scala optional

5
推荐指数
1
解决办法
114
查看次数

标签 统计

optional ×1

scala ×1