Scala 柯里化 Currying
所属分类 scala
浏览量 690
柯里化 currying, 以逻辑学家Haskell Brooks Curry的名字命名
将原来接受两个参数的函数变成新的接受一个参数的函数的过程
新的函数返回一个以原有第二个参数作为参数的函数
def add(x: Int)(y: Int): Int = x + y
柯里化函数类型
Int => Int => Int
柯里化函数的类型声明是右结合的
Int => (Int => Int)
入参是一个 Int ,返回是一个函数,返回函数入参 Int 返回类型 Int
def runAdd(func: Int => Int => Int)(x:Int)(y:Int) = func(x)(y)
runAdd(add)(1)(2)
def add(x: Int): Int => Int = {
def addInner(y:Int) : Int = {
x+y
}
addInner
}
add(1)(2)
上一篇
下一篇
Spark 累加器 Accumulator
scala future 实例
AKKA actor model 的一些思考
scala 方法和函数的区别
scala 学的走火入魔
spark 广播变量