我希望能夠在Scala中應用操作f: (T,T) => T
到Option[T]
值。如果兩個值中的任何一個值爲None
,我希望結果爲None
。如何在Scala中結合選項值?
更具體地說,我想知道是否有一個較短的方式來做到以下幾點:我已經tryied (x zip y) map {case (u,v) => f(u,v)}
def opt_apply[T](f: (T,T) => V, x: Option[T], y: Option[T]): Option[T] = {
(x,y) match {
case (Some(u),Some(v)) => Some(f(u,v))
case _ => None
}
}
但結果是Iterator[T]
不是Option[T]
。
任何幫助將不勝感激。謝謝。
errrr,這應該更新正確http://docs.scala-lang.org/style/control-structures.html,因爲它應該是{x0 < - x; y0 < - y)},我想,對吧? – 2014-10-15 17:50:50
@DeanHiller,嗯是的。風格指南在我想的時候不存在。 :) – missingfaktor 2014-10-16 10:16:23