Курс Raku / Розширені / Порядок виконання / Префікси інструкцій 🆕 / Вправи / Значення блоку do

Розв’язання: Значення блоку do

Ось один із можливих варіантів розв’язання задачі.

Код

my $label = do if 7 > 5 { 'big' } else { 'small' };

say $label;

🦋 Вихідний код можна знайти у файлі do-block.raku.

Вивід

big

Коментарі

  1. Голий if є оператором і не має придатного до використання значення. Префікс do перетворює весь if/else на вираз.

  2. Оскільки 7 > 5 істинне, вираз дає 'big', що й присвоюється $label. Той самий прийом працює з do given та do for.

  3. Фігурні дужки { } не є необов’язковими. if у Raku завжди бере блок, тож скоротити гілки до if 7 > 5 'big' else 'small' не можна — це не компілюється з помилкою Missing block.

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

Значення блоку do   |   Примусова жадібна обробка