Курс Raku / Розширені / Порядок виконання / Префікси інструкцій 🆕
do та значення блоку
Блок сам по собі є оператором, а не виразом, тож зазвичай його не
можна присвоїти змінній. Префікс do перетворює блок на
вираз, значенням якого є значення його останнього
оператора:
my $x = do {
my $a = 3;
$a + 4;
};
say $x; # 7Усередині блоку ви можете оголошувати змінні, виконувати кілька
операторів і обчислювати результат; do повертає те, у що
блок обчислюється. Це стає в пригоді, коли для отримання значення
потрібен не один вираз.
do працює і перед операторами керування потоком
виконання, дозволяючи їм теж повертати значення:
my $sign = do given 5 {
when * > 0 { 'positive' }
when * < 0 { 'negative' }
default { 'zero' }
};
say $sign; # positiveТут do given перетворює весь
given/when на вираз, що дає
positive. Так само працюють do if та
do for. Коротко кажучи, do — це спосіб
використати блок або керівну конструкцію там, де очікується
значення.
Практика
Виконайте 1 тест за змістом цієї теми.
Навігація курсом
← Префікси інструкцій 🆕 | Тест — do →
💪 Або перейдіть одразу до вправ цього
розділу.