Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Nebenläufige Programmierung / hyper und race 🆕 / Exercises / hyper mit einem Filter

Lösung: hyper mit einem Filter

Hier ist eine mögliche Lösung der Aufgabe.

Code

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

🦋 Du findest den Quellcode in der Datei hyper-filter.raku.

Ausgabe

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

Kommentare

  1. ist nur Rakus Hochstellungsschreibweise für * ** 2: Das ² ist ein nachgestellter Potenzoperator, ist also ein WhateverCode, das sein Argument quadriert. Schreiben Sie * ** 2, wenn Ihnen das lieber ist.

  2. .hyper parallelisiert die ganze Kette — das grep, das die Zahlen über 10 behält, und das map, das sie quadriert — unter Bewahrung der Reihenfolge.

  3. Weil die Reihenfolge bewahrt bleibt, kommen die Quadrate in derselben Folge wie ihre Eingaben zurück (11², 12², …, 20²), was (121 144 169 196 225 256 289 324 361 400) ergibt.

Kursnavigation

hyper mit einem Filter   |   Reaktive Programmierung