Курс языка программирования Raku / Функциональное, конкурентное, реактивное и веб-программирование / Конкурентное программирование / hyper и race 🆕 / Exercises / hyper с фильтром
Решение: hyper с фильтром
Вот один из возможных вариантов решения задачи.
Код
say (1..20).hyper.grep(* > 10).map(*²);🦋 Исходный код можно найти в файле hyper-filter.raku.
Вывод
(121 144 169 196 225 256 289 324 361 400)Комментарии
*²— это просто запись* ** 2с надстрочным индексом:²является постфиксным оператором возведения в степень, поэтому*²— этоWhateverCode, возводящий свой аргумент в квадрат. Если удобнее, пишите* ** 2..hyperраспараллеливает всю цепочку — иgrep, оставляющий числа больше10, иmap, возводящий их в квадрат, — сохраняя при этом порядок.Поскольку порядок сохраняется, квадраты возвращаются в той же последовательности, что и их исходные значения (
11²,12², …,20²), давая(121 144 169 196 225 256 289 324 361 400).