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

Решение: Степени тройки

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

Код

say (1, * * 3 ... *).head(5);

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

Вывод

(1 3 9 27 81)

Комментарии

  1. Замыкание * * 3 — это правило получения следующего члена: взять текущий и умножить на три. Задать правило явно надёжнее, чем позволить оператору угадывать его по первым членам.

  2. Конечная точка * делает ряд бесконечным, а .head(5) берёт первые пять.

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

Степени тройки   |   Последовательность Трибоначчи