Raku-Kurs / Anhang 🆕 / Ablauf und Funktionen / Subroutinen und funktionaler Stil / Exercises / Zwei Funktionen komponieren
Lösung: Zwei Funktionen komponieren
Hier ist eine mögliche Lösung der Aufgabe.
Code
sub compose(&f, &g) {
return -> $x { f(g($x)) };
}
my $combined = compose(* * 2, * + 1);
say $combined(5);🦋 Du findest den Quellcode in der Datei compose.raku.
Ausgabe
12Kommentare
Die Parameter
&fund&gnehmen beliebige aufrufbare Dinge an — hier die Whatever-Funktionen* * 2und* + 1.composeliefert eine frische anonyme Funktion-> $x { f(g($x)) }. Sie auf5aufzurufen führt zuerstgaus (5 + 1), dannf(6 * 2), was12ergibt.