Scala 的函数的柯里化

  下面介绍Scala函数的柯里化这一特性,柯里化也是函数定义的一种方式。通过柯里化的定义和柯里化函数结合相关案例进行详细介绍。 

1.柯里化的定义

柯里化的定义语法为:

def 函数名 (参数列表1)(参数列表2)... (参数列表n):type={
    方法体
}

柯里化可以有多个参数列表,例如def a(x:Int(y:Int):Int={x+y}。 
2.柯里化的注意要点
使用柯里化的过程中需要注意的地方有三点。 
第一点:不能传递部分参数。在使用柯里化传值时需要传递全部参数,不可以只传递部分参数。 
第二点:可以利用隐式参数传递部分值。这一点在介绍隐式转换时会详细说明。 
第三点:不能返回新的函数。这一点与部分应用函数相对照,稍后将会详细说明。 

 
相关代码如下:

object Test14_1 {
    //定义函数的方式
  //1标准化方式:def 函数名()
  //2字面量方式:var fn = ()=>
  //3柯里化方式:def fn(x:Int,y:Int.z:Int) => {} 把多个参数分开,一个一个写
    def fn(x:Int)(y:Int)(z:Int)={
      println(x,y,z)
    }

  def main(args: Array[String]): Unit = {
   var f = fn(1)(2)(_)//占位符
   f(30)
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值