Руководство по языку B.Pascal 7

       

Константы типа массив


Описание константы типа массив содержит значения элементов, заключенные в скобки и разделенные запятыми.

---- --------------- ---- константа-массив --->¦ ( +---->¦типизированная+--T->¦ ) +--> L---- ^ ¦ константа ¦ ¦ L---- ¦ L--------------- ¦ ¦ ---- ¦ L------+ , ¦<--------- L----

Приведем пример константы типа массив:

type Status = (Active,Passive,Waiting); StatusMap = array[Status] of string[7]; const StatStr: StatusMap = ('Active','Passive','Waiting');

В этом примере определяется константа-массив StarStr, кото- рая может использоваться для преобразования значений типа Status в соответствующие им строковые представления. Элементами массива StarStr являются:

StatStr[Active] = 'Active' StatStr[Passive] = 'Passive' StatStr[Waiting] = 'Waiting'

Тип элемента константы-массива может быть любым, кроме фай- лового типа. Упакованные константы строкового типа (символьные массивы) могут быть определены и как одиночные символы, и как строки. Определение:

const Digits:array[0..9] of char=('0','1','2','3','4','5','6','7','8','9');

можно представить в более удобном виде:

const Digits: array[0..9] of char = '0123456789';

При разрешении расширенного синтаксиса (с помощью директивы компилятора {$X+}) массивы с нулевой базой могут инициализирова- ться строкой, которая короче, чем описанная длина массива, напри- мер:

const FileName = array[0..79] of Char = 'TEXT.PAS';

В таких случаях оставшиеся символы устанавливаются в NULL (#0), и массив содержит строку с завершающим нулем.

Примечание: Подробнее о строках с завершающим нулем рассказывается в Главе 18.

При описании константы типа "многомерный массив" константы каждой размерности заключаются в отдельные скобки и разделяются запятыми. Расположенные в середине константы соответствуют самым правым размерностям. Описание:

type Cube = array[0..1,0..1,0..1] of integer; const Maze: Cube = (((0,1),(2,3)),((4,5),(6,7)));

задает следующие начальные значения массива Maze:

Maze[0, 0, 0] = 0 Maze[0, 0, 1] = 1 Maze[0, 1, 0] = 2 Maze[0, 1, 1] = 3 Maze[1, 0, 0] = 4 Maze[1, 0, 1] = 5 Maze[1, 1, 0] = 6 Maze[1, 1, 1] = 7



Содержание раздела