- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在编写 curry 函数的实现时,是否需要能够分支?
Javascript 中的用法示例:
var foo = function (a, b) { console.log(a, b); },
x = curry(foo),
y = x('bar'); // An example of branching
x('baz'); // -> 'bar baz'
y('qux'); // - > 'bar qux'
这里的示例显示我们第一次使用值 bar
调用柯里化(Currying)函数并将结果函数存储在变量 y
中。
那么我的问题是:我们是否能够独立于应用于 x
的进一步操作(在这种情况下传递 baz
作为下一个参数)。
如果你不确定柯里化(Currying)是什么,维基百科是这样说的:
In mathematics and computer science, currying is the technique of translating the evaluation of a function that takes multiple arguments (or a tuple of arguments) into evaluating a sequence of functions, each with a single argument (partial application).
http://en.wikipedia.org/wiki/Currying
更新:
提出这个问题的另一种方式是:一个柯里化(Currying)函数应该简单地保持它的当前状态并且除了应用最后一个参数时不返回任何值,还是应该每次调用都返回一个封装了所有先前参数的新函数应用参数?
最佳答案
柯里化(Currying)通常意味着调用参数少于预期数量的函数将返回一个预期剩余缺失参数的函数。
它不应该在函数对象上累积状态...
f = curry(function(x, y, z) { return x+y+z; });
g = f(1) // --> <func>
h = g(2) // --> <func>
h(3) // --> 6 (computed from 1+2+3)
g(10, 20) // --> 31 (computed from 1+10+20)
柯里化(Currying)甚至用于您实际上没有可变状态概念的纯函数式语言。
关于javascript - 分支是柯里化(Currying)的必要特征吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28169455/
我正在使用 this solution在二进制矩阵中找到与图像边界对齐的矩形。假设现在我想找到一个不与图像边框对齐的矩形,并且我不知道它的方向;找到它的最快方法是什么? 为了示例,让我们寻找一个仅包含
else: 行在这个 Python 程序中是否正确/必要? from random import randrange for n in range(10): r = randrange(0,1
在 TDPL 7.1.5.1 中讨论了将 Widget w2 分配给 w1 并且作者指出“将 w2 逐个字段分配给 w1 会将 w2.array 分配给 w1.array——一个简单的数组边界分配,而
我是一名优秀的程序员,十分优秀!