Курс языка программирования Raku / Продвинутый уровень / Подробнее о встроенных типах / Перечисления / Exercises / Номера дней недели
Решение: Номера дней недели
Вот возможное решение задачи.
Код
enum Day (Mon => 1, Tue => 2, Wed => 3, Thu => 4, Fri => 5);
say Day(5);
say Day(1);🦋 Исходный код можно найти в файле weekday-values.raku.
Вывод
Fri
MonКомментарии
Запись констант в виде пар позволяет выбирать числа, здесь начиная с
1.Вызов типа перечисления как
Day(5)выполняет обратный поиск: находит константу, значение которой равно5, то естьFri. АналогичноDay(1)даетMon. Это обратная операция по отношению кFri.value, которая переходит от имени к числу.