Справочное руководство по языку Ада-83


Имена - часть 3


/p>

Примечание к примеру.

Для компонент многомерных массивов (таких, как BOARD) и массива массивов (таких, как PAGE) используются различные обозначения. Компонентами массива массивов являются массивы, и они могут быть индексированы. Так, РАGЕ(10) (20) задает двадцатую компоненту массива РАGЕ(10). В последнем примере NEXT_FRAME(L) — вызов функции, возвращающей ссылочное значение, указывающее двумерный массив.

Ссылки:

возбуждение исключения 11, возвращаемое значение 5.8, 6.5, вход 9.5, вызов функции 6.4, выражение 4.4, вычисление 4.5, имя 4.1, индекс 3.6, индексируемый тип 3.6, исключение CONSTRAINT_ERROR 11.1, компонента 3.3, компонента массива 3.6, объект задачного типа 9.2, префикс 4.1, размерность 3.6, семейство входов 9.5, соответствует типу 4.1.

4.1.2. ОТРЕЗКИ

Отрезок обозначает одномерный массив нескольких последовательных компонент одномерного массива. Отрезок переменной — переменная, отрезок константы — константа, отрезок значения — значение.

отрезок ::= префикс(дискретный-диапазон)

Префикс отрезка должен соответствовать одномерному индексируемому типу. Тип отрезка — это базовый тип этого индексируемого типа. Границы дискретного диапазона определяют границы отрезка и должны быть того же типа, что и тип индекса; отрезок является пустым, т. е. обозначает пустой массив, если дискретный диапазон является пустым.

Порядок вычисления префикса и дискретного диапазона при вычислении имени отрезка в языке не определяется. Если при вычислении отрезка хотя бы одна из границ дискретного диапазона не принадлежит диапазону индексов, определяемому префиксом отрезка, то (кроме случая пустого отрезка) возбуждается исключение CONSTRAINT_ERROR. (Границы пустого отрезка могут не принадлежать подтипу индекса.)

Примеры отрезков:

SТАRS(1..15)

- - отрезок из 15 символов

(см. 3.6.3)

РАGЕ(10..10 + SIZE)

- - отрезок из (1 + SIZE) компонент

(см. 3.6 и 3.2.1)

РАGЕ(L) (А..В)

- - отрезок массива РАОЕ(1)

(см. 3.6)

SТАRS(1..0)

- - пустой отрезок

(см. 3.6.3)

MY_SCHEDULE(WEEKDAY)

- - границы задаются подтипом

(см. 3.6 и 3.5.1)

SТАRS(5..15) (К)

- - аналогично SТАRS(К), если К

- - в диапазоне 5..15

(см. 3.6)

<




Начало  Назад  Вперед



Книжный магазин