首页 > 解决方案 > 如果选项为无或值满足条件,则执行某些操作

问题描述

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

我知道可以用

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

在 Scala 中是否有更实用的惯用方式来执行此操作?

标签: scala

解决方案


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

但实际上,这在我看来并不比你的if陈述更好。


推荐阅读