scala控制抽象
减少代码重复
高阶函数,带其它函数做参数的函数,让你创造控制抽象从而使你减少代码重复,类似委托
简化客户代码
Curry化
curry化的函数被应用了多个参数列表
原始函数:
def plainOldSum(x: Int, y: Int) = x + y
curry化后:
def curriedSum(x: Int)(y: Int) = x + y
下面的名为first的函数实质上执行了curriedSum的第一个传统函数调用会做的事情:
def first(x: Int) = (y: Int) => x + y
在第一个函数上应用1——换句话说,调用第一个函数并传入1——会产生第二个函数:
val second = first(1)
scala> second(2)
res6: Int = 3
编写新的控制结构
叫名参数:by-name parameter

浙公网安备 33010602011771号