您现在的位置是:首页 > Web设计

Web设计

函数加里化(Currying)和偏函数应用(Partial Application)的比较

2020-11-16 10:44:05 Web设计 admin
【名词解释】Currying:因为是美国数理逻辑学家哈斯凯尔·加里(HaskellCurry)发明了这种函数使用技巧,所以这样用法就以他的名字命名为Currying,中文翻译为“加里化”。我感觉很多人都对函数加里化(Currying)和偏函


【名词解释】Currying:因为是美国数理逻辑学家哈斯凯尔·加里(HaskellCurry)发明了这种函数使用技巧,所以这样用法就以他的名字命名为Currying,中文翻译为“加里化”。

我感觉很多人都对函数加里化(Currying)和偏函数应用(PartialApplication)之间的区别搞不清楚,尤其是在相似的上下文环境中它们同时出现的时候。

偏函数解决这样的问题:如果我们有函数是多个参数的,我们希望能固定其中某几个参数的值。

几乎所有编程语言中都有非常明显的偏函数应用。在C语言中:
intfoo(inta,intb,intc){
returna+b+c;
}

intfoo23(inta,intc){
returnfoo(a,23,c);
}