Перечисления - способ создания уникальных числовых констант. Отдельную константу я буду называть вариантом перечисления. Каждый созданный вариант имеет тип UInt64, имеет случайное значение отличное от 0, а также не бывает двух вариантов с одинаковым значением. Вспомним про магазин из предыдущей статьи. Предположим раньше магазин торговал только городскими велосипедами, а теперь решил начать торговать ещё шоссейными и горными, мы конечно можем добавить новый член типа имеющий тип [UInt8], но слайсы занимают гораздо больше места, а также медленнее работают чем числа встроенные в язык. Поэтому лучше создать новый член типа с типом UInt64 и создать для него варианты перечисления.
Пример:
Пример:
enums
bt_city
bt_road
bt_mountain
type Bicycle
brand, model [UInt8]
buyPrice, sellPrice, discount UInt16
eBike Bool
type UInt64
func bikeTypeToString(bikeType)
rules
final = bikeType == UInt64
result = [UInt8]
case bikeType of
bt_city
result = "city"
bt_road
result = "road"
bt_mountain
result = "mountain"
func toString(bicycle)
rules
final = bicycle
result = [UInt8]
result = bicycle.brand.join({
bicycle.model, " ",
bicycle.buyPrice.toString(), " ",
bicycle.sellPrice.toString(), " ",
bicycle.discount.toString(), " ",
bicycle.eBike.toString(), " ",
bicycle.type.bikeTypeToString())
}
Имя варианта должно соответствовать следующим правилам:- начинается со строчной буквы
- содержит только буквы латинского алфавита, цифры и знак подчёркивания (_)
- не может содержать два знака подчёркивания идущих подряд
- должно иметь хотя бы один знак подчеркивания
Комментариев нет:
Отправить комментарий
Пожалуйста без мата и оскорблений. Если хотите сообщить об ошибках, для этого есть форма обратной связи.