Курс языка программирования Raku / Функциональное, конкурентное, реактивное и веб-программирование / Функциональное программирование / Рекурсия / Рекурсивная подпрограмма

Тест — Рекурсия

Что выведет следующая программа?

sub sum($n) {
    $n <= 0 ?? 0 !! $n + sum($n - 1);
}

say sum(4);
04
110
024
00

sum(4) — это 4 + sum(3), что разворачивается в 4 + 3 + 2 + 1, то есть 10. Рекурсия останавливается на базовом случае, когда $n доходит до 0.

Навигация по курсу

Рекурсивная подпрограмма   |   Базовый случай