Курс Raku / Функційне, конкурентне, реактивне та веб-програмування / Функційне програмування / Лямбди та замикання
Лямбди
Лямбда — це функція без імені. Ви вже зустрічали два способи
її записати. Перший — це гострий блок, що
перелічує свої параметри після стрілки ->:
my &square = -> $x { $x * $x };
say square(7); # 49Другий — форма Whatever, у якій
* заступає аргумент, а вираз навколо нього стає функцією
від одного аргументу:
my &square = * ** 2;
say square(7); # 49Обидва створюють ту саму річ: шматок коду, який можна зберігати, передавати й викликати. Лямбди сяють як аргументи функцій вищого порядку, де ім’я лише заважало б:
say (1..5).map(-> $n { $n * $n }); # (1 4 9 16 25)
say (1..5).map(* ** 2); # (1 4 9 16 25)Гостра форма зрозуміліша, коли тіло довше або параметрів кілька; форма з Whatever чудово коротка для простих виразів. Це два написання однієї ідеї: функції без імені.
Практика
Виконайте 1 тест за змістом цієї теми.
Навігація курсом
← Лямбди та замикання | Тест — Лямбди →
💪 Або перейдіть одразу до вправ цього розділу.