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

posted @ 2014-05-22 15:00  褐色键盘  阅读(159)  评论(0)    收藏  举报