加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

单独处理Scala选项

发布时间:2020-12-16 18:44:02 所属栏目:安全 来源:网络整理
导读:处理Option,map / getOrElse或匹配的更惯用的方法是什么? val x = option map { value = Math.cos(value) + Math.sin(value)} getOrElse { .5} 要么 val x = option match { case Some(value) = Math.cos(value) + Math.sin(value) case None = .5} 解决方
处理Option,map / getOrElse或匹配的更惯用的方法是什么?

val x = option map {
  value => Math.cos(value) + Math.sin(value)
} getOrElse {
  .5
}

要么

val x = option match {
    case Some(value) => Math.cos(value) + Math.sin(value)
    case None => .5
}

解决方法

你总是可以看看 Scaladoc for Option:

使用scala.Option实例的最常用方法是将其视为集合或monad,并使用map,flatMap,filter或foreach:

val name: Option[String] = request getParameter "name"
val upper = name map { _.trim } filter { _.length != 0 } map { _.toUpperCase }
println(upper getOrElse "")

稍后:

使用scala.Option值的一种不那么惯用的方法是通过模式匹配:

val nameMaybe = request getParameter "name"
nameMaybe match {
  case Some(name) =>
    println(name.trim.toUppercase)
  case None =>
    println("No name value")
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读