在函数中处理 Option[A]

Handling Option[A] in a function

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

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