gpt4 book ai didi

scala - 简化 Scala 中的 Option[Boolean] 表达式

转载 作者:行者123 更新时间:2023-12-03 15:41:33 25 4
gpt4 key购买 nike

我有这样的代码:

optionBoolean.getOrElse(false) && otherOptionBoolean.getOrElse(false)
Scalastyle 告诉我它可以简化。如何?

最佳答案

您可以尝试以下操作:

Seq(optionBoolean, otherOptionBoolean).forall(_.contains(true))
在 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
}
因此一旦出现不满足条件的值,循环就会中断,其余的不会被测试。
代码运行于 Scastie .

关于scala - 简化 Scala 中的 Option[Boolean] 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65123370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com