Курс Raku / Розширені / Підпрограми / Множинна диспетчеризація / Вправи / Абсолютне значення
Розв’язання: Абсолютне значення
Ось один із можливих варіантів розв’язання задачі.
Код
multi sub abs-value(Int $n where $n < 0) { -$n }
multi sub abs-value(Int $n) { $n }
say abs-value(-7);
say abs-value(4);🦋 Вихідний код можна знайти у файлі absolute-value.raku.
Вивід
7
4Коментарі
Перший кандидат збігається лише з від’ємними числами й повертає значення зі зміненим знаком, яке є додатним.
Кожне інше число — нуль і додатні — потрапляє до другого кандидата, який повертає значення без змін.