Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Paralēlā programmēšana / hyper un race 🆕 / Exercises / hyper ar filtru

Risinājums: hyper ar filtru

Šeit ir iespējams risinājums uzdevumam.

Kods

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

🦋 Atrodiet programmu failā hyper-filter.raku.

Izvade

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

Komentāri

  1. ir tikai Raku augšraksta pieraksts izteiksmei * ** 2: ² ir postfiksais pakāpes operators, tāpēc ir WhateverCode, kas savu argumentu kāpina kvadrātā. Rakstiet * ** 2, ja tā patīk labāk.

  2. .hyper paralelizē visu ķēdi — grep, kas patur skaitļus virs 10, un map, kas tos kāpina kvadrātā —, saglabājot secību.

  3. Tā kā secība tiek saglabāta, kvadrāti atgriežas tādā pašā kārtībā kā to ievaddati (11², 12², …, 20²), dodot (121 144 169 196 225 256 289 324 361 400).

Kursa navigācija

hyper ar filtru   |   Reaktīvā programmēšana