Next:5.1.5
Упражнения
Up:5.1
Простые типы данных, определяемые программистом
Previous:5.1.2
Введение синонимических типов
type NumberKind = (Bin, Oct, Dec, Hex);
Month = (Jan, Feb, Mar,
Apr, May, Jun, July, Sep, Oct, Nov, Dec);
Перечисление является типом, который состоит из именованного списка идентификаторов, обозначающих значения, которые составляют тип. Эти идентификаторы квалифицируются именем типа при использовании в качестве именованных констант в программе, например, Month.Jan - имя первой константы типа Month.
Значения упорядочены, и их отношение порядка определяется их текстуальной последовательностью в перечислении. Нет других значений, принадлежащих данному типу. Порядковый номер первого значения равен нулю и увеличивается на единицу при переходе от любого элемента перечисления к следующему идентификатору.
EnumType = "(" IdentList ")".
IdentList = ident { "," ident }.
Рис. 5.2. Синтаксис перечисляемого типа
Имена в различных перечислениях не обязаны различаться, поскольку всегда квалифицируются при использовании. Так для рассмотренного примера NumberKind.Oct всегда отличается от Month.Oct.
Для значений типа, заданного перечислением, из операций допустимы только
операции отношения, а также допустимы стандартные функции: succ -- взятие
следующего (по порядку) значения, pred -- дает предыдущее (по порядку)
значение, integer -- выдает порядковый номер значения. Используя имя типа
в качестве имени стандартной функции можно конвертировать целое число в
значение, имеющее соответствующий порядковый номер, например, Month(0)
выдает первое значение значения типа Month.
Next:5.1.5
Упражнения
Up:5.1
Простые типы данных, определяемые программистом
Previous:5.1.2
Введение синонимических типов