Курс Raku / Функційне, конкурентне, реактивне та веб-програмування / Функційне програмування / Функції вищого порядку / Передавання підпрограм
Тест — Передавання підпрограм
Що надрукує наступна програма?
sub negate($n) { -$n }
sub apply(&f, $x) {
f($x);
}
say apply(&negate, 7);| 1 | -7 |
| 0 | 7 |
| 0 | 0 |
| 0 | &negate |
Іменовану підпрограму передають із сигілом &, тож
&negate вручає в apply саму підпрограму, а
не викликає її. Усередині f(7) запускає її, і виходить
-7.