Параметры конструкторов enum

Предыдущий пример Color показывает три константных конструктора для перечисления. Кроме этого, можно задавать конструкторам параметры :
    enum Color2 {
        red;
        green;
        blue;
        grey( v : Int );
        rgb( r : Int, g : Int, b : Int );
    }
В этом подходе, может быть бесконечное количество возможных вариантов Color2, но есть пять разных конструкторов которые могут быть использованы для этого. Следующие значения все являются допустимыми примерами значений Color2 :
    var c1:Color2 = red;
    var c2:Color2 = green;
    var c3:Color2 = blue;
    var c4:Color2 = grey(0);
    var c5:Color2 = grey(128);
    var c6:Color2 = rgb( 0x00, 0x12, 0x23 );
    var c7:Color2 = rgb( 0xFF, 0xAA, 0xBB );
Также мы можем получить рекурсивный тип, например, чтобы добавить alpha :
    enum Color3 {
        red;
        green;
        blue;
        grey( v : Int );
        rgb( r : Int, g : Int, b : Int );
        alpha( a : Int, col : Color3 );
    }
Ниже показаны допустимые примеры значений Color3 :
    var c1:Color3 = alpha( 127, red );
    var c2:Color3 = alpha( 255, rgb(0,0,0) );

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <blockcode> <dd>
  • Строки и параграфы переносятся автоматически.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>.

Подробнее о форматировании

CAPTCHA
Этот вопрос помогает предотвратить автоматический спам
Image CAPTCHA
Enter the characters shown in the image without spaces, also respect upper and lower case.
To prevent automated spam submissions leave this field empty.