Курс языка программирования Raku / Функциональное, конкурентное, реактивное и веб-программирование / Функциональное программирование / Рекурсия / Рекурсивная подпрограмма
Тест — Рекурсия
Что выведет следующая программа?
sub sum($n) {
$n <= 0 ?? 0 !! $n + sum($n - 1);
}
say sum(4);| 0 | 4 |
| 1 | 10 |
| 0 | 24 |
| 0 | 0 |
sum(4) — это 4 + sum(3), что
разворачивается в 4 + 3 + 2 + 1, то есть 10.
Рекурсия останавливается на базовом случае, когда $n
доходит до 0.