在函数中处理 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,因此可以在其上进行许多操作,例如 map
、flatMap
和 filter
。
http://www.scala-lang.org/api/current/index.html#scala.Option
我需要一个类似于下面代码的函数
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,因此可以在其上进行许多操作,例如 map
、flatMap
和 filter
。
http://www.scala-lang.org/api/current/index.html#scala.Option