Курс языка программирования Raku / Продвинутый уровень / Порядок выполнения
given и when
Когда программа должна выбрать один из нескольких вариантов, цепочка
проверок if и elsif может стать длинной и
однообразной. В такой ситуации конструкция
given/when часто оказывается нагляднее. Она
похожа на оператор switch из других языков.
Блок given принимает значение и делает его
топиком — специальной переменной $_. Каждый блок
when затем сравнивается с этим топиком, и первый совпавший
выполняется:
my $n = 2;
given $n {
when 1 { say 'one' }
when 2 { say 'two' }
when 3 { say 'three' }
}Эта программа печатает:
twoВ отличие от switch в некоторых других языках, здесь нет
«проваливания» (fall-through): как только when совпадает,
его блок выполняется, и блок given завершается. Остальные
блоки when не проверяются.
Блок default
Блок default выполняется, когда ни один блок
when не совпал. Он играет ту же роль, что ветка
else в операторе if:
my $n = 5;
given $n {
when 1 { say 'one' }
when 2 { say 'two' }
default { say 'many' }
}Поскольку $n не равно ни 1, ни
2, программа печатает:
manyЕщё в этом разделе
Практика
Пройдите 1 тест по содержанию этого раздела.
Упражнения
В этом разделе 3 упражнения. Прежде чем приступать к практике, изучите все темы раздела.
Навигация по курсу
← Тест —
LEAVE | Сопоставление диапазонов, типов
и условий →