Курс Raku / Розширені /
Порядок виконання / given та
when / Вправи / Зіставлення за
типом
Розв’язання: Зіставлення за типом
Ось один із можливих варіантів розв’язання задачі.
Код
my $value = 3.14;
given $value {
when Int { say 'integer' }
when Rat { say 'rational' }
when Str { say 'string' }
}🦋 Вихідний код можна знайти у файлі match-by-type.raku.
Вивід
rationalКоментарі
Коли значенням для зіставлення є тип, розумне зіставлення запитує, чи належить топік до цього типу.
3.14не єInt, тож першийwhenпропускається.Десятковий літерал на кшталт
3.14у Raku єRat(раціональним числом), тож другийwhenзбігається, і програма виводитьrational.