Курс Raku / Функційне, конкурентне, реактивне та веб-програмування / Функційне програмування / Функції вищого порядку / Повернення підпрограм

Тест — Функції вищого порядку

Що надрукує наступна програма?

sub prefixer($p) {
    sub ($s) { $p ~ $s };
}

my &hi = prefixer('Hi, ');
say hi('Bob');
1Hi, Bob
0Bob
0Hi,
0Hi, Hi,

prefixer('Hi, ') повертає підпрограму, що пам’ятає префікс і додає його спереду до того, що їй дадуть. Збережена в &hi і викликана з 'Bob', вона повертає Hi, Bob — повернена підпрограма так само добре працює з рядками, як і з числами.

Навігація курсом

Повернення підпрограм   |   Застосуйте двічі