Курс Raku / Функційне, конкурентне, реактивне та веб-програмування / Функційне програмування / Функції вищого порядку / Повернення підпрограм
Тест — Функції вищого порядку
Що надрукує наступна програма?
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, ') повертає підпрограму, що пам’ятає
префікс і додає його спереду до того, що їй дадуть. Збережена в
&hi і викликана з 'Bob', вона повертає
Hi, Bob — повернена підпрограма так само добре працює з
рядками, як і з числами.