Предыдущий пример Color показывает три константных конструктора для перечисления. Кроме этого, можно задавать конструкторам параметры :
enum Color2 {
red;
green;
blue;
grey( v : Int );
rgb( r : Int, g : Int, b : Int );
}
</div>
В этом подходе, может быть бесконечное количество возможных вариантов 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 );
</div>
Также мы можем получить рекурсивный тип, например, чтобы добавить alpha :
enum Color3 {
red;
green;
blue;
grey( v : Int );
rgb( r : Int, g : Int, b : Int );
alpha( a : Int, col : Color3 );
}
</div>
Ниже показаны допустимые примеры значений Color3 :
var c1:Color3 = alpha( 127, red );
var c2:Color3 = alpha( 255, rgb(0,0,0) );
</div>