Курс Raku / Розширені / Докладніше про вбудовані типи / Перелічення 🆕
Значення та ключі
Кожна константа перелічення несе і ім’я, і число. Метод
.value дає число, а метод .key — ім’я у
вигляді рядка:
enum Colour <red green blue>;
say green.value; # 1
say green.key; # greenПриймати автоматичну нумерацію від нуля не обов’язково. Запишіть константи парами, щоб обрати значення самостійно:
enum Day (Mon => 1, Tue => 2, Wed => 3, Thu => 4, Fri => 5);
say Tue.value; # 2
say Fri.value; # 5Тут робочий тиждень пронумеровано від одиниці, а не від нуля.
Сам тип перелічення може перелічити всі свої константи. Метод
.enums повертає відображення кожного імені на його
значення:
enum Colour <red green blue>;
say Colour.enums; # Map.new((blue => 2, green => 1, red => 0))
say Colour.enums.elems; # 3Маючи .value, .key та .enums,
ви можете вільно переходити від константи до її числа, від числа назад
до даних і по всьому набору, — саме це й робить перелічення корисними
для меню, станів і таблиць пошуку.
Практика
Виконайте 1 тест за змістом цієї теми.
Навігація курсом
← Тест — Перелічення | Тест — Значення enum →
💪 Або перейдіть одразу до вправ цього
розділу.