Scala`Application does not take parameters`编译错误
Scala `Application does not take parameters` compile error
我想想出一个简单的函数,它接受一个函数和一个整数列表,并将该函数应用于列表中的每个整数 -
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)
我在 values.tail
上遇到编译器错误 Application does not take parameters
,我是函数式编程和 Scala 的初学者,所以任何理解这方面的指示或答案都很好。
这行代码有两个问题。
IntOps(f(values.head)(values.tail))
- 括号错误 -
IntOps
采用两个参数列表,每个参数列表中有一个参数。
- 第一个参数的类型错误 - 第一个参数需要是一个函数
Int => Int
,这是 f
的意思,但您正在调用 f
,[=25] =] 一个 Int
,这不是 IntOps
所要求的。
我想想出一个简单的函数,它接受一个函数和一个整数列表,并将该函数应用于列表中的每个整数 -
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)
我在 values.tail
上遇到编译器错误 Application does not take parameters
,我是函数式编程和 Scala 的初学者,所以任何理解这方面的指示或答案都很好。
这行代码有两个问题。
IntOps(f(values.head)(values.tail))
- 括号错误 -
IntOps
采用两个参数列表,每个参数列表中有一个参数。 - 第一个参数的类型错误 - 第一个参数需要是一个函数
Int => Int
,这是f
的意思,但您正在调用f
,[=25] =] 一个Int
,这不是IntOps
所要求的。