scala – 如何一次匹配选项映射值?
发布时间:2020-12-16 18:43:39 所属栏目:安全 来源:网络整理
导读:是否有可能一次匹配某些键的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 N
是否有可能一次匹配某些键的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 } 解决方法
当然!只需
flatMap that sh*t!
def lookup(o: Option[Map[String,String]],k: String) = o.flatMap(_ get k).map(Ok(_)).getOrElse(BadRequest) 如果您使用的是Scala 2.10,则可以折叠选项: def lookup(o: Option[Map[String,k: String) = o.flatMap(_ get k).fold(BadRequest)(Ok(_)) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |