Курс по 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.