Вопрос: Как бы вы сделали эту работу?
добавить (2) (5); // 7
добавить (2, 5); // 7Сделать функцию, поддерживающую каррирование И традиционные многочисленные параметры
Я пытаюсь решить вопрос выше: Я знаю, что первое решение использует выделки и будет осуществляться следующим образом:
var add = functoin(x){
return function (y){
return x+y;
};
};
в то время как второй является вашей обычной этого нужно просто функции:
var add = functoin(x,y){
return x+y;
};
Есть ли способ заставить обе работать одновременно?
Имейте в виду, что 'Function # length' не включает необязательные аргументы, и эта реализация не делает ничего особенного, чтобы помочь с этим, - как обычно, оно определяется тем, как вызывается функция curried. – joews
Если вы хотите сделать реальную currying, которая работает для более чем 2 параметров, вы должны сделать 'return curry (fn.bind (null, ... args))' – Bergi
@Bergi спасибо, вот что я имел в виду :-) – joews