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

Quiz — Subroutinen übergeben

Was gibt das folgende Programm aus?

sub negate($n) { -$n }

sub apply(&f, $x) {
    f($x);
}

say apply(&negate, 7);
1-7
07
00
0&negate

Eine benannte Subroutine wird mit der Sigil & übergeben, &negate überreicht apply also die Subroutine selbst, statt sie aufzurufen. Drinnen führt f(7) sie aus, was -7 ergibt.

Kursnavigation

Subroutinen übergeben   |   Subroutinen zurückgeben