首页  

Scala 柯里化 Currying     所属分类 scala 浏览量 526
柯里化 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 广播变量