函数理解"/>
柯里化函数理解
柯里化函数:
是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。
为什么需要柯里化?
- 1.把多个参数转化为单参数函数的级联,达到了动态确定参数的目的。
- 2.当某些参数不确定时,可以先保留一个存根。剩余的参数确定以后,就可以通过存根调用剩下的参数。
柯里化函数的理解
下面两个函数:
def add1(x:Int,y:Int):Int = x+y
def add2(x:Int)(y:Int):Int = x+y
上面的两个函数第一个函数调用的时候直接可以add1(2,3),但是第二个函数调用的时候可以add2(1)(y:Int) 得到这样的一个函数,然后可以再次调用这个函数add2(1)(2)
柯里化最大的意义在于把多个参数的函数等价转化成多个单参数函数的级联,这样所有的函数就都统一了,方便做lambda演算。 在scala里,柯里化对类型推演也有帮助,scala的类型推演是局部的,在同一个参数列表中后面的参数不能借助前面的参数类型进行推演,柯里化以后,放在两个参数列表里,后面一个参数列表里的参数可以借助前面一个参数列表里的参数类型进行推演。
更多推荐
柯里化函数理解
发布评论