Cursus Raku / Functioneel, concurrent, reactief en webprogrammeren / Functioneel programmeren / Hogere-ordefuncties / Subroutines doorgeven

Quiz — Subroutines doorgeven

Wat drukt het volgende programma af?

sub negate($n) { -$n }

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

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

Een benoemde subroutine wordt met de sigil & meegegeven, dus &negate overhandigt de subroutine zelf aan apply in plaats van haar aan te roepen. Binnenin draait f(7) haar, wat -7 geeft.

Cursusnavigatie

Subroutines doorgeven   |   Subroutines teruggeven