Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Funktionale Programmierung / Funktionen höherer Ordnung / Exercises / Bauen Sie einen Multiplikator
Lösung: Bauen Sie einen Multiplikator
Hier ist eine mögliche Lösung der Aufgabe.
Code
sub multiplier($n) {
sub ($x) { $x * $n };
}
my &double = multiplier(2);
my &triple = multiplier(3);
say double(7);
say triple(7);🦋 Du findest den Quellcode in der Datei make-multiplier.raku.
Ausgabe
14
21Kommentare
multiplier(2)liefert eine Subroutine, die sich merkt, dass$ngleich2ist;multiplier(3)liefert eine eigene Subroutine, die sich3merkt.Jede zurückgegebene Subroutine behält ihr eigenes
$n,double(7)ergibt also14undtriple(7)ergibt21— zwei unabhängige Funktionen aus derselben Fabrik.