scala 函数柯里化

来源:互联网 发布:ubuntu 命令行界面 编辑:程序博客网 时间:2024/06/08 06:42

例1:

 //正常定义   def add(x:Int,y:Int) = x+y   println(add(2,3))  

例2:

//函数作为返回值  def add(x:Int)=(y:Int)=>x+y val tmp = add(2)println(tmp(3))  //既然add(2)返回是一个函数,那么可不可以合到一起来调用呢?显然是可以的println(add(2)(3))  

于是我们得出结论:例2中add(2)(3)的效果与例1中add(2, 3)的效果是一样的!

===============================================================

猜测:我们能不能直接把函数定义成add(2)(3)这种模式呢??

例3:

//柯里化  def add(x:Int)(y:Int) = x+y  println(add(2)(3)) //必须传递两个参数,否则编译报错 
原创粉丝点击