Курс по 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 покрива всичко останало — числата, които не са нито нула, нито четни, тоест нечетните.

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

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