Scala学习笔记18【curry化函数代码示例】

package com.yl.Scala

object Curry {
  def main(args: Array[String]){

    //curry化的函数被应用了多个参数列表,而不是仅仅一个。

    //普通函数定义
    def mutiple(x : Int, y : Int) = x * y      
    println("mutiple(2, 6) = " + mutiple(2, 6))

    //curry化函数定义
    //调用第一个函数并传入x, 会产生第二个函数f(y: Int) = x * y, 第二个函数产生结果
    def mutiple1(x: Int) = (y : Int) => x * y  
    println("mutiple1(6)(9) = " + mutiple1(6)(9))

    //常用方式这样写
    def mutiple2(x : Int)(y : Int) = x * y
    println("mutiple2(6)(9) = " + mutiple2(6)(9))
  }
}

运行结果:

mutiple(2, 6) = 12 mutiple1(6)(9) = 54 mutiple2(6)(9) = 54

你可能感兴趣的:(scala,Curry,curry化函数)