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

Рекурсия

Эта часть курса выходит за пределы повседневного и рассматривает три мощных стиля программирования, которые Raku поддерживает особенно хорошо, — функциональный, конкурентный и реактивный, — а затем применяет их к созданию веб-сервисов.

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

Рекурсивная подпрограмма решает задачу, сводя её к меньшему варианту той же задачи, пока задача не станет достаточно маленькой, чтобы ответить на неё прямо. Обратный отсчёт, обход дерева, вычисление факториала — всё это естественно рекурсивно. В этом разделе показано, как написать рекурсивную подпрограмму и, что не менее важно, как её остановить.

Темы этого раздела

Практика

Пройдите 3 теста по содержанию этого раздела.

Упражнения

В этом разделе 4 упражнения. Прежде чем приступать к практике, изучите все темы раздела.

  1. Степень
  2. Сумма цифр
  3. Счёт вверх
  4. Треугольное число

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

Функциональное программирование   |   Рекурсивная подпрограмма