我希望能够将操作f: (T,T) => T应用于Option[T]Scala中的值.我希望结果是None两个值中的任何一个None.
更具体地说,我想知道是否有更短的方法来执行以下操作:
def opt_apply[T](f: (T,T) => T, x: Option[T], y: Option[T]): Option[T] = {
(x,y) match {
case (Some(u),Some(v)) => Some(f(u,v))
case _ => None
}
}
Run Code Online (Sandbox Code Playgroud)
我试过了,(x zip y) map {case (u,v) => f(u,v)}但结果Iterator[T]却不是Option[T].