Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Funktionale Programmierung / Funktionen höherer Ordnung / Subroutinen zurückgeben

Quiz — Funktionen höherer Ordnung

Was gibt das folgende Programm aus?

sub prefixer($p) {
    sub ($s) { $p ~ $s };
}

my &hi = prefixer('Hi, ');
say hi('Bob');
1Hi, Bob
0Bob
0Hi,
0Hi, Hi,

prefixer('Hi, ') liefert eine Subroutine, die sich das Präfix merkt und es dem voranstellt, was sie bekommt. In &hi abgelegt und mit 'Bob' aufgerufen liefert sie Hi, Bob — eine zurückgegebene Subroutine arbeitet mit Zeichenketten ebenso gut wie mit Zahlen.

Kursnavigation

Subroutinen zurückgeben   |   Zweimal anwenden