Курс языка программирования 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

Комментарии

  1. when 0 сопоставляет единственное значение — ноль. Оно идёт первым, потому что ноль также является чётным, а мы хотим вывести его отдельно.

  2. when $_ %% 2 — это условие, где $_ — топик, установленный given: оператор %% проверяет, делится ли число нацело на два. Значение 12 не равно нулю, но делится на два, поэтому программа печатает even.

  3. default покрывает всё остальное — числа, которые не являются ни нулём, ни чётными, то есть нечётные.

Навигация по курсу

Чётное, нечётное или ноль   |   Сопоставление по типу