Перечисляемые типы

Язык:
Русский
English

 Перечисляемые типы


Перечисляемые типы определяют упорядоченные наборы значений, перечисляя идентификаторы, которые обозначают эти значения. Их порядок следует из последовательности, в которой они были перечислены.

Синтаксис

 type имя = (идентификатор, идентификатор, ..., идентификатор);

Замечания

Идентификаторы в определении типа становятся константами перечисляемого типа.

Первая константа имеет порядковый номер 0, вторая - 1, и так далее.

Перечисляемые типы являются подклассом порядковых типов.

Пример

 type Suit = (Clubs, Diamonds, Hearts, Spades);

При таком объявлении Hearts является константой типа Suit.

Стандартная функция Ord возвращает порядковый номер перечисляемой константы. В этом примере,

   Ord(Clubs)    = 0
   Ord(Diamonds) = 1
   Ord(Hearts)   = 2

И так далее.

Ада

 type Day is (Mon, Tue, Wed, Thu, Fri, Sat, Sun);
 type Suit is (Clubs, Diamonds, Hearts, Spades);
 type Color is (White, Red, Yellow, Green, Blue, Brown, Black);
 type Light is (Red, Amber, Green); -- Red и Green перегружены

В отличие от Borland Pascal, идентификаторы в определении типа становятся функциями, а не константами. Это позволяет перегружать их. А в остальном, поведение этих функций полностью аналогично константам.

Нумерация начинается с нуля. Преобразование номера в значение и обратно осуществляется атрибутами 'Val и 'Pos.

См. также

Лекция №2.1: Типы данных и операции

Тэги: enumerated
| G+
Код для вставки: :: :: :: ::
Поделиться: // //