Questions tagged «partial-application»

14
currying和部分应用有什么区别?
我经常在Internet上看到各种抱怨,认为其他人使用的currying实例不是curying,而实际上只是部分应用。 我尚未找到关于什么是部分应用程序或它与currying有何不同的恰当解释。似乎存在一个普遍的混乱,在某些地方将等效示例描述为“ currying”,而在其他地方则将其部分应用。 有人可以给我提供这两个术语的定义,以及它们之间的区别的细节吗?

6
Python:为什么functools.partial是必需的?
部分应用程序很酷。哪些功能functools.partial提供了lambda无法获得的功能? >>> sum = lambda x, y : x + y >>> sum(1, 2) 3 >>> incr = lambda y : sum(1, y) >>> incr(2) 3 >>> def sum2(x, y): return x + y >>> incr2 = functools.partial(sum2, 1) >>> incr2(4) 5 是functools某种方式更有效或更可读吗?

7
functools部分如何做?
我无法了解部分功能在functools中的工作方式。我从这里有以下代码: >>> sum = lambda x, y : x + y >>> sum(1, 2) 3 >>> incr = lambda y : sum(1, y) >>> incr(2) 3 >>> def sum2(x, y): return x + y >>> incr2 = functools.partial(sum2, 1) >>> incr2(4) 5 现在排队 incr = lambda y : sum(1, y) …

15
JavaScript库里:实际应用是什么?
我认为我还没有抱怨过。我了解它的作用以及如何去做。我只是想不出我会用它的情况。 您在JavaScript中的哪个地方使用currying(或者主要库在哪里使用它)?欢迎使用DOM操作或一般应用程序开发示例。 答案之一是动画。像功能slideUp,fadeIn需要一个元素作为参数,并通常是一个咖喱函数返回带有内置默认的“动画功能”高阶功能。为什么这比仅应用带有某些默认值的upper-up功能更好? 使用它有什么缺点吗? 根据要求,这里提供了一些有关JavaScript currying的良好资源: http://www.dustindiaz.com/javascript-curry/ Crockford,Douglas(2008)JavaScript:The Good Parts http://www.svendtofte.com/code/curried_javascript/ (绕过ML,所以从“ ML速成班”中跳过整个部分,然后从“如何编写咖喱JavaScript”开始) http://web.archive.org/web/20111217011630/http://blog.morrisjohns.com:80/javascript_closures_for_dummies JavaScript闭包如何工作? http://ejohn.org/blog/partial-functions-in-javascript(Resig先生照常付款) http://benalman.com/news/2010/09/partial-application-in-javascript/ 我会在评论中添加更多内容。 因此,根据答案,通常使用currying和部分应用是便捷技术。 如果您经常通过使用相同的配置调用它来“完善”一个高级函数,则可以使用(或使用Resig的partial)高级函数来创建简单,简洁的帮助器方法。



4
Scala中的多个参数列表和每个列表的多个参数之间有什么区别?
在Scala中,可以这样编写(咖喱?)函数 def curriedFunc(arg1: Int) (arg2: String) = { ... } 上面的curriedFunc带有两个参数列表的函数定义与单个参数列表中具有多个参数的函数之间的区别是什么: def curriedFunc(arg1: Int, arg2: String) = { ... } 从数学的角度来看,这是(curriedFunc(x))(y),curriedFunc(x,y)但我可以写def sum(x) (y) = x + y,同样是def sum2(x, y) = x + y 我只知道一个区别-这是部分应用的功能。但是这两种方式对我来说都是等效的。 还有其他区别吗?

3
函数编程中的“部分功能”到底是什么意思?
根据我的理解,部分函数是通过向函数传递比预期少的参数而获得的函数。例如,如果这在Python中直接有效: >>> def add(x,y): ... return x+y ... >>> new_function = add(1) >>> new_function(2) 3 在上面的代码段中,new_function是部分功能。但是,根据Haskell Wiki,部分函数的定义为 局部函数是未针对指定类型的所有可能参数定义的函数。 因此,我的问题是:“部分函数”到底是什么意思?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.