gpt4 book ai didi

Scala: “any” 和 “all” 函数

转载 作者:行者123 更新时间:2023-12-03 05:38:52 25 4
gpt4 key购买 nike

我的 Haskell* 有点生疏了,所以我可以想象我错过了明显的东西:

def any[A](s: Traversable[A], f: A => Boolean): Boolean = {
s.foldLeft(false)((bool, elem) => bool || f(elem))
}

这些属性之一是否适用于 it?

  1. 在 Scala 库中预定义
  2. 根据具体情况,写得更快
  3. 错误(我没有测试过,抱歉;))
<小时/>

*实际上是SML,但99%相同,但无人知晓。

最佳答案

  1. 它是预定义的,称为存在forall 将是您正在寻找的“all”函数。

    scala> Vector(3, 4, 5).exists(_ % 2 == 0)
    res1: Boolean = true

    scala> Vector(3, 4, 5).forall(_ % 2 == 0)
    res2: Boolean = false
  2. 您可以使用带有 breakfor 循环来提高其性能(来自 scala.util.control.Breaks) 。 (请参阅 existsforall 的标准库实现。)

  3. 正确。

关于Scala: “any” 和 “all” 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6390797/

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