匹配几个选项当你有一个Option
aOpt
你只是一直在做的事情,如果它实际上包含的东西有兴趣,你可以做到以下几点:简洁地同时
aOpt match {
case Some(a) => foo(a) // do something
case None => // do nothing
}
这当然应该是缩短为:
aOpt.foreach(a => foo(a))
现在说我有两个Option
小号aOpt
和bOpt
。我只对这两个这些Option
s实际上包含一个对象感兴趣。
所以我写
(aOpt, bOpt) match {
case (Some(a), Some(b)) => foo(a, b) // Do something
case _ => // Do nothing
}
我怎样才能缩短这个较少的线路?或者我怎么能至少省略无用的case _ =>
行而没有警告?
http://www.scala-lang.org/api/current/index.html#scala.Option –