一 柯里化函数
把具有多个参数的函数转换为一条函数链,每个节点上是单一参数。
柯里化(Currying)指的是将原来接受两个参数的函数变成新的接受一个参数的函数的过程。新的函数返回一个以原有第二个参数为参数的函数。
以下两个add函数定义时等价的
def add(x:Int,y:Int)=x+y
def add(x:Int)(y:int)=x+y //Scala柯里化语法
二 实例
object Demo_kelihuaextendsApp{
def curriedAdd(a:Int)(b:Int)=a+b
println(curriedAdd(2)(2))
val addOne = curriedAdd(1)_
println(addOne(2))
val str1:String="Hello, "
val str2:String="Scala!"
println("str1 + str2 = "+ strcat(str1)(str2))
def strcat(s1:String)(s2:String)={
s1 + s2
}
}
三 运行结果
4
3
str1 + str2 = Hello, Scala!