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

Решение: Счёт вверх

Вот один из возможных вариантов решения задачи.

Код

sub countup($n) {
    return if $n < 1;
    countup($n - 1);
    say $n;
}

countup(3);

🦋 Исходный код можно найти в файле count-up.raku.

Вывод

1
2
3

Комментарии

  1. Базовый случай return if $n < 1 по-прежнему останавливает рекурсию, как только счёт переваливает за ноль.

  2. Порядок двух последних строк и заставляет считать вверх: каждый вызов сначала уходит в рекурсию до самого базового случая и только потом, когда вызовы разворачиваются обратно, печатает своё число. Поэтому 1 печатается первым, а $n — последним.

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

Счёт вверх   |   Треугольное число