Dun*_*gor 1 scala scala-collections
我Map[Symbol, Option[String]]从一个网页上读取值,其中一些可能会丢失.
我想"扁平化"这个Map[Symbol, String]去除所有的None价值观.
到目前为止我能做的最好的是
def removeNones[K, V](map: Map[K, Option[V]]): Map[K, V] =
map.collect { case kv if kv._2.isDefined => (kv._1, kv._2.get) }
Run Code Online (Sandbox Code Playgroud)
但我真的不喜欢case,不得不重建Pair.
谁能找到更好的表达方式?
val m = Map('a -> Some("a string"), 'b -> None)
m collect {case(a, Some(b)) => (a, b)}
// Map('a -> a string)
Run Code Online (Sandbox Code Playgroud)
似乎可以做到这一点.
| 归档时间: |
|
| 查看次数: |
181 次 |
| 最近记录: |