使用漂亮的语法在 ActionScript 中实现经典 curry 函数的最佳方法是什么?
我试过了:
Function.prototype.curry = function()
{
return "helloWorld";
}
trace((function():void {}).curry());
...方法,但没有奏效。
我想我坚持使用一种丑陋的方法,例如:
FunctionUtils.curry(fp, ... args)
???
最佳答案
我必须承认我从未理解“ curry ”和“部分”之间的区别。我使用以下函数或多或少地做你想做的事情:
package {
public function partial( func : Function, ...boundArgs ) : Function {
return function( ...dynamicArgs ) : * {
return func.apply(null, boundArgs.concat(dynamicArgs))
}
}
}
用法示例:
var multiply : Function = function( a : Number, b : Number ) : Number { return a * b; }
var multiplyByFour : Function = partial(multiply, 4);
trace(multiplyByFour(3)); // => 12
关于apache-flex - 弹性 : implementing classic curry function in actionscript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/359635/