scala - 在函数中处理 Option[A]

标签 scala scala-2.11

我需要一个类似于下面代码的函数

def function[A,B](a: Option[A], f: Function[A,B]) = {
        a match {
          case None => None
          case Some(v) => Some(f(v))
        }
      }

是否有任何 scala 内置函数可以做同样的事情?

最佳答案

def function[A,B](a: Option[A], f: Function[A,B]) = {
  a.map(f(_))
}

Option 可以被视为一个 Monad,因此可以在其上执行许多操作,例如 mapflatMapfilter

http://www.scala-lang.org/api/current/index.html#scala.Option

关于scala - 在函数中处理 Option[A],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32092804/

相关文章:

scala - 为什么 Def.inputTask 宏在 Scala 2.11.1 中不起作用?

java - 提升 json :Custom serializer for java 8 LocalDateTime throwing mapping exception

scala - 传递数组列表 : Not found value 时在 Scala 模板中编译错误

scala - A1 类型的神秘成员 "default"=> B1

scala - Spark 2.2 非法模式组件 : XXX java. lang.IllegalArgumentException:非法模式组件:XXX

scala - 是否可以在 Scala 中装饰方法?

scala - 如何在 Scala 中使用 ConcurrentLinkedQueue?

引用成员类型的 Scala 宏

java - 如何从scala调用通配符java函数

scala - 使用异步结果进行响应的模式