Курс языка программирования Raku / Функциональное, конкурентное, реактивное и веб-программирование / Функциональное программирование / Ленивые и бесконечные последовательности / Exercises / Степени тройки
Решение: Степени тройки
Вот один из возможных вариантов решения задачи.
Код
say (1, * * 3 ... *).head(5);🦋 Исходный код можно найти в файле powers-of-three.raku.
Вывод
(1 3 9 27 81)Комментарии
Замыкание
* * 3— это правило получения следующего члена: взять текущий и умножить на три. Задать правило явно надёжнее, чем позволить оператору угадывать его по первым членам.Конечная точка
*делает ряд бесконечным, а.head(5)берёт первые пять.