Курс языка программирования Raku / Продвинутый уровень / Порядок выполнения / given и
when / Exercises / Чётное,
нечётное или ноль
Решение: Чётное, нечётное или ноль
Вот возможное решение задачи.
Код
my $n = 12;
given $n {
when 0 { say 'zero' }
when $_ %% 2 { say 'even' }
default { say 'odd' }
}🦋 Исходный код можно найти в файле sign-of-a-number.raku.
Вывод
evenКомментарии
when 0сопоставляет единственное значение — ноль. Оно идёт первым, потому что ноль также является чётным, а мы хотим вывести его отдельно.when $_ %% 2— это условие, где$_— топик, установленныйgiven: оператор%%проверяет, делится ли число нацело на два. Значение12не равно нулю, но делится на два, поэтому программа печатаетeven.defaultпокрывает всё остальное — числа, которые не являются ни нулём, ни чётными, то есть нечётные.