Курс по 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 →
💪 Или преминете направо към упражненията в този
раздел.