gpt4 book ai didi

scala - Scala `Application does not take parameters`编译错误

转载 作者:行者123 更新时间:2023-12-02 10:44:27 25 4
gpt4 key购买 nike

我试图提出一个简单的函数,该函数接受一个函数和一个整数列表,并将该函数应用于列表中的每个整数-

    def IntOps(f: Int => Int)(values: List[Int]): Int = {
if(values.isEmpty) 0
//Getting "Application does not take parameters" in values.tail
else IntOps(f(values.head)(values.tail))
}
IntOps(x=> x+x)(List(1, 2, 30)

我在 Application does not take parameters上收到编译器错误 values.tail,我是函数式编程和scala的初学者,因此任何了解这一点的指针或答案都很好。

最佳答案

这行代码有两个问题。

IntOps(f(values.head)(values.tail))
  • 括号不正确-IntOps接受两个参数列表,每个参数列表一个。
  • 第一个参数的类型错误-第一个参数需要是一个函数Int => Int,这是f的意思,但是您正在调用f,该函数返回一个Int,而这不是IntOps所需要的。
  • 关于scala - Scala `Application does not take parameters`编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38626010/

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