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');| 1 | Hi, Bob |
| 0 | Bob |
| 0 | Hi, |
| 0 | Hi, 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.