enum

Пакеты и импорт

Каждый файл может содержать несколько классов, перечислений и импортов. Все они - части пакета, декларированного в начале файла. Если package не декларирован, используется пустой пакет по умолчанию. Поэтому у каждого типа есть путь ссылающийся на название пакета за которым следует имя типа.
    // файл my/pack/C.hx
    package my.pack;

    enum E {
    }

    class C {
    }

Enum - сила перечислений

Перечисления // это иной тип, отличный от классов, который объявляется с конечным числом конструкторов. Вот небольшой пример:
    enum Color {
        red;
        green;
        blue;
    }

    class Colors {
        static function toInt( c : Color ) : Int {
            return switch( c ) {
                case red: 0xFF000;
                case green: 0x00FF00;
                case blue: 0x0000FF;
            }
        }
    }
Когда у вас есть фиксированное число значений и вы хотите быть уверенным, что только эти значения будут использованы, тогда
перечисления// это лучший подход, который гарантирует, что другие значения не могут быть созданы.
RSS-материал