Jes*_*ose 0 scala scala-option
我想用if语句替换下面的匹配,最好比这更简洁.我个人觉得是否更容易在头脑中解析.
val obj = referencedCollection match{
case None => $set(nextColumn -> MongoDBObject("name" -> name))
case Some( collection) =>....}
Run Code Online (Sandbox Code Playgroud)
是否有等效的if语句或其他产生等效结果的方法?
您可以通过组合替换模式匹配map和getOrElse:
ox match {
case None => a
case Some(x) => f(x)
}
Run Code Online (Sandbox Code Playgroud)
可以替换为
ox.map(f).getOrElse(a)
Run Code Online (Sandbox Code Playgroud)