Ava*_*Ava 5 boolean-logic scala optional scalastyle scala-option
我有这样的代码:
optionBoolean.getOrElse(false) && otherOptionBoolean.getOrElse(false)
Run Code Online (Sandbox Code Playgroud)
Scalastyle 告诉我它可以简化。如何?
您可以尝试以下操作:
Seq(optionBoolean, otherOptionBoolean).forall(_.contains(true))
Run Code Online (Sandbox Code Playgroud)
在 Scala 2.13 中(与之前的版本非常相似)该forall
方法位于IterableOnce
,其实现是:
def forall(p: A => Boolean): Boolean = {
var res = true
val it = iterator
while (res && it.hasNext) res = p(it.next())
res
}
Run Code Online (Sandbox Code Playgroud)
因此,一旦有一个值不满足条件,循环就会中断,其余的将不会被测试。
代码在Scastie上运行。
归档时间: |
|
查看次数: |
277 次 |
最近记录: |