Курс языка программирования 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: возвращённая подпрограмма работает со строками не хуже, чем с числами.

Навигация по курсу

Возврат подпрограмм   |   Примените дважды