11
|
Nathan de Vries · 技术社区 · 16 年前 |
![]() |
1
3
从技术上讲,您正在创建一个调用原始函数的全新函数。因此,如果我对部分应用函数的理解是正确的,那么这不是部分应用函数。部分应用的函数将更接近于此(请注意,这不是一般的解决方案):
IIUC,这仍然不是一个部分应用的函数。但它更近了。如果可以检查代码,则真正的部分应用函数实际上会如下所示:
所以,从技术上讲,你最初的方法 是 只返回一个在闭包中绑定的函数。我能想到的在javascript中真正部分应用函数的唯一方法是解析函数、应用更改,然后通过eval()运行它。 但是,您的解决方案是一个很好的将概念实际应用到JavaScript中的应用,因此实际上,即使在技术上不精确,也可以实现目标。 |
![]() |
2
3
我认为讨论部分函数的应用是完全可以的 在javascript中-如果它像部分应用程序一样工作,那么它必须 做一个。你还能怎么命名? 你如何 咖喱 函数完成他的目标只是一个实现 细节。以类似的方式,我们可以在ecmascript规范中部分应用, 但是当IE像你那样实现它的时候,你会 没办法知道。 |
![]() |
3
1
技术细节对我来说并不重要——如果语义保持不变,并且对于所有意图和目的,函数的作用就好像它实际上是一个部分应用的函数,谁在乎呢? 我以前对事情很有学问,但担心这些细节最终并不能完成真正的工作。 我个人用 MochiKit ;它有一个很好的partial()函数,可以帮助创建这样的函数。我喜欢它。 |
![]() |
4
0
你应该退房 Curried JavaScript Functions . 我还没有完全理解他的咖喱功能,但可能有你的答案。 编辑:不过,我同意你的评估。 |
![]() |
5
0
你可以很优雅地用ES6做咖喱:
|
![]() |
nanounanue · 使用python和高级操作符的函数管道 6 年前 |
![]() |
Zazaeil · 这个特定的递归可以用尾部优化的方式重写吗? 6 年前 |
![]() |
corvid · 使用ramda通过变量进行升序/降序 6 年前 |
![]() |
CodingNow · Scala:如何制作多种方法并逐一应用? 6 年前 |