Sobes.tech
Junior — Senior
51

Создание функции с поддержкой каррирования

Условие задачи

Необходимо написать функцию, которая поддерживает последовательные вызовы с одним аргументом и возвращает текущую сумму только при вызове без аргументов. Поведение функции должно соответствовать следующим примерам:

sum() == 0
sum(1)() == 1
sum(1)(4)() == 5
sum(5)(2)(2)() == 9

Функция должна корректно обрабатывать любое количество вложенных вызовов, аккумулируя переданные числа и выдавая их сумму в момент, когда вызов происходит без параметров.