如果选项为None或值满足条件,则执行某些操作

时间:2019-02-04 12:21:43

标签: scala

如果我有一个Option[Int]和一个函数validateInt(i: Int): Boolean。如果该选项为空或通过了验证,我想做些什么。

我知道可以用

完成
if (opt.forall(validateInt)) {
   // do something
}

在Scala中,有没有一种更实用的习惯方法?

1 个答案:

答案 0 :(得分:3)

opt.filterNot(validateInt).getOrElse(doStuff): Unit

但实际上,在您看来,这似乎比您的if语句更好。