Курс языка программирования Raku / Продвинутый уровень / Порядок выполнения / Префиксы инструкций / Exercises / Значение блока do
Решение: Значение блока do
Вот возможное решение задачи.
Код
my $label = do if 7 > 5 { 'big' } else { 'small' };
say $label;🦋 Исходный код можно найти в файле do-block.raku.
Вывод
bigКомментарии
Обычный
ifявляется оператором и не имеет пригодного для использования значения. Префиксdoпревращает всю конструкциюif/elseв выражение.Поскольку
7 > 5истинно, выражение возвращает'big', которое присваивается переменной$label. Тот же приём работает сdo givenиdo for.Фигурные скобки
{ }обязательны. В Rakuifвсегда принимает блок, поэтому нельзя сократить ветви доif 7 > 5 'big' else 'small'— это не скомпилируется с ошибкой Missing block.
Навигация по курсу
← Значение блока do | Принудительное немедленное вычисление →