Написание карри javascript-функции, которую можно вызывать произвольное количество раз, которая возвращает значение при самом последнем вызове функции

В настоящее время я работаю над проблемой программирования в свое личное время, которое требует, чтобы я сделал функцию javascript, которую можно вызывать таким образом.

add(1) // 1
add(1)(2) // 3
add(1)(2)(3); // 6
add(1)(2)(3)(4); // 10
add(1)(2)(3)(4)(5); // 15

Мне трудно понять, как заставить его вернуть значение при самом последнем вызове.

Например, для того, чтобыadd(1)(2) работать, тоadd(1) должен вернуть функцию, но согласно инструкцииadd(1) при вызове само по себе вернется1.

Я предполагаю, что один из способов преодолеть это - выяснить, сколько раз подрядadd функция вызывается, но я не могу придумать, как этого добиться. У кого-нибудь есть намеки, которые могут указать мне правильное направление?

Я прочитал эти две статьи (1, 2) о функциях карри, и я их понимаю, но я не уверен, как делать карри при работе с переменным числом аргументов.

Ответы на вопрос(2)

Ваш ответ на вопрос