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 atgriešana
Viktorīna — Augstākas kārtas funkcijas
Ko izdrukā šī programma?
sub prefixer($p) {
sub ($s) { $p ~ $s };
}
my &hi = prefixer('Hi, ');
say hi('Bob');| 1 | Hi, Bob |
| 0 | Bob |
| 0 | Hi, |
| 0 | Hi, Hi, |
prefixer('Hi, ') atgriež apakšprogrammu, kas atceras
priedēkli un pieliek to priekšā tam, ko tai iedod. Saglabāta
&hi un izsaukta ar 'Bob', tā atgriež
Hi, Bob — atgriezta apakšprogramma ar virknēm darbojas
tikpat labi kā ar skaitļiem.