Scala 带'Val'和'Def'的高阶函数`
我不熟悉Scala,并尝试在函数方法方面进行更多探索。 我编写了一个方法,并定义了如下变量:-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
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,一个非常混乱的话题。详细讨论。