Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Funkcionālā programmēšana / Augstākas kārtas funkcijas / Apakšprogrammu nodošana
Viktorīna — Apakšprogrammu nodošana
Ko izdrukā šī programma?
sub negate($n) { -$n }
sub apply(&f, $x) {
f($x);
}
say apply(&negate, 7);| 1 | -7 |
| 0 | 7 |
| 0 | 0 |
| 0 | &negate |
Nosauktu apakšprogrammu padod ar sigilu &, tāpēc
&negate nodod apply pašu apakšprogrammu,
nevis to izsauc. Iekšienē f(7) to izpilda, dodot
-7.