Назад к задачам
Junior — Senior
6

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

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

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

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

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