Курс Raku / Функційне, конкурентне, реактивне та веб-програмування / Конкурентне програмування / hyper і race 🆕 / Вправи / hyper з фільтром

Розв’язання: hyper з фільтром

Ось одне з можливих розв’язань задачі.

Код

say (1..20).hyper.grep(* > 10).map(*²);

🦋 Знайдіть програму у файлі hyper-filter.raku.

Вивід

(121 144 169 196 225 256 289 324 361 400)

Коментарі

  1. — це просто спосіб Raku записати * ** 2 верхнім індексом: ² є постфіксним оператором степеня, тож є WhateverCode, що підносить свій аргумент до квадрата. Пишіть * ** 2, якщо вам так більше до вподоби.

  2. .hyper розпаралелює весь ланцюжок — grep, що залишає числа понад 10, і map, що підносить їх до квадрата, — зберігаючи порядок.

  3. Оскільки порядок збережено, квадрати повертаються в тій самій послідовності, що й їхні входи (11², 12², …, 20²), даючи (121 144 169 196 225 256 289 324 361 400).

Навігація курсом

hyper з фільтром   |   Реактивне програмування