Курс по Raku / Напреднали / Оператори / Метаоператори / Exercises / Всеки факториел наведнъж
Решение: Всеки факториел наведнъж
Ето едно възможно решение на задачата.
Код
say [\*] 1..6;🦋 Можете да намерите пълния код във файла factorial.raku.
Резултат
(1 2 6 24 120 720)Коментари
Обратната наклонена черта вътре в скобите превръща
[*]в триъгълна редукция. Вместо да свива списъка до една стойност, тя запазва всяко частично произведение:1, после1*2, после1*2*3и така нататък.Всяко частично произведение
1*2*...*kе точно k!, така че резултатът е списъкът с факториелите от1до6. Обикновеното[*] 1..6щеше да даде само последния от тях,720.