Joh*_*son 5 scala scala-option
是否有可能Option[Map[String,String]]一次匹配某些键(例如没有嵌套匹配)?
以下片段是现在的样子:
val myOption:Option[Map[String,String]] = ...
myOption match {
case Some(params) =>
params get(key) match {
case Some(value) => Ok(value)
case None => BadRequest
case None => BadRequest
}
Run Code Online (Sandbox Code Playgroud)
当然!就是flatMap那个sh*t!
def lookup(o: Option[Map[String, String]], k: String) =
o.flatMap(_ get k).map(Ok(_)).getOrElse(BadRequest)
Run Code Online (Sandbox Code Playgroud)
如果你正在使用Scala 2.10,你可以折叠Option:
def lookup(o: Option[Map[String, String]], k: String) =
o.flatMap(_ get k).fold(BadRequest)(Ok(_))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1101 次 |
| 最近记录: |