柯里化
維基百科,自由的 encyclopedia
在计算机科学中,柯里化(英語:Currying),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。这个技术由克里斯托弗·斯特雷奇以逻辑学家哈斯凱爾·加里命名的,尽管它是Moses Schönfinkel和戈特洛布·弗雷格发明的。
![]() | 此條目包含過多行話或專業術語,可能需要簡化或提出進一步解釋。 (2017年5月15日) |
此條目没有列出任何参考或来源。 (2017年5月15日) |
在直觉上,柯里化声称「如果你固定某些参数,你将得到接受余下参数的一个函数」。所以对于有两个变量的函数,如果固定了
,则得到有一个变量的函数
。
在理论计算机科学中,柯里化提供了在简单的理论模型中,比如:只接受一个单一参数的lambda演算中,研究带有多个参数的函数的方式。
函数柯里化的对偶是Uncurrying,一种使用匿名单参数函数来实现多参数函数的方法。例如:
var foo = function(a) {
return function(b) {
return a * a + b * b;
}
}
这样调用上述函数:(foo(3))(4)
,或直接foo(3)(4)
。