Scala 带'Val'和'Def'的高阶函数`

Scala 带'Val'和'Def'的高阶函数`,scala,higher-order-functions,Scala,Higher Order Functions,我不熟悉Scala,并尝试在函数方法方面进行更多探索。 我编写了一个方法,并定义了如下变量:- val list = 1 to 10 toList def getFilterList(list: List[Int],f:Int => Boolean): List[Int] = { list.filter(f) } getFilterList(list, x => x %2 ==0) val oddHOF :Int => Boolean = value => va

我不熟悉Scala,并尝试在函数方法方面进行更多探索。 我编写了一个方法,并定义了如下变量:-

val list = 1 to 10 toList

def getFilterList(list: List[Int],f:Int => Boolean): List[Int] = {
  list.filter(f)
}

getFilterList(list, x => x %2 ==0)

val oddHOF :Int => Boolean = value => value % 2 == 0

list.filter(oddHOF)
现在,我的问题是,
oddHOF
getFilterList
都是高阶函数,如果不是的话,那么调用什么
oddHOF
getFilterList
呢?

A是一个以函数为参数的函数。因此,
getFilterList
是一个高阶函数,因为它将
Int=>Boolean
类型的函数作为参数


另一方面,
oddHOF
,这意味着您可以用函数文本语法表示函数。e、 g.
val-oddHOF:Int=>Boolean=(value:Int)=>value%2==0
。这里,函数的类型是
Int=>Boolean
,即它接受一个
Int
类型的参数并返回
Boolean
值,
(value:Int)=>value%2==0
是一个值。

正确,除了
getFilterList
是一个方法,而不是一个函数(但这可能有点不必要的分歧)@jwvh函数和方法的区别到底是什么?@AkashSethi,一个非常混乱的话题。详细讨论。