3 ms·
Suggestion: instead of this: <code> function add (a,b,c){ if (arguments.length < this.add.length) { return curry(this.add,arguments,this);
by d0m 17y ago
Suggestion:
instead of this:
<code>
function add (a,b,c){
if (arguments.length < this.add.length) {
return curry(this.add,arguments,this);
}
return a+b+c;
}
</code>
we could have something like:
<code>
function add (a,b,c) {
return curry(arguments, 3, function (x,y,z) {
return a+b+c;
};
}
</code>
which is arguably simpler and cleaner. However, one extra closure is used.. maybe it makes it more complicated for some?
But, overall, pretty clear and interesting article :o
- d0m 17y ago<-- Fail with <code> !
- deleted 17y ago[deleted]
- panic 17y agoYeah, it is a bit awkward. After reading this article a few years back, I wrote a simpler implementation of curry that transforms the function itself, rather than being called from within it, e.g. var add = curry(function(a,b,c) { return a + b + c; }); You can find the code at http://ianhenderson.org/curry.js http://ianhenderson.org/curry.js if you're interested.