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



              

Примечание 2



Примечание

X /= Y"" < "А" and "А" < "АА" -- TRUE "АА" < "В" and "А" < "А " -- TRUEMY_CAR = null --истина, если MY_CAR пуст (см. 1) MY_CAR = YOUR_CAR -- истина, если используется один и тот же автомобиль MY_CAR.all = YOUR_CAR.all -- истина, если оба автомобиля идентичныN not in 1..10 -- проверка принадлежности диапазону TODAY in MON .. FRI -- проверка принадлежности диапазону TODAY in WEEKOAY -- проверка принадлежности подтипу (см. 1) ARCHIVE in DISKUNIT -- проверка принадлежности подтипу (см. 3)

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

Если именуемый тип имеет компоненты, зависящие от дискриминантов, то компоненты двух значений сопоставлены тогда и только тогда, когда равны их дискриминанты. Компоненты непустых массивов сопоставлены, если и только если значения атрибута LENGTH(N) для каждой позиции индекса одинаковы у обоих массивов.

Ссылки: базовый тип 3.3, возбуждение исключения 11, вычисление 4.5, граница диапазона 3.5, диапазон 3.5, диапазон индекса 3.6, дискретный тип 3.5, идентификатор компоненты 3.7, именуемый тип 3.7, индекс 3.6, индексируемый тип 3.6, исключение 11, компонента 3.3, лимитируемый тип 4, обозначение типа 2, объект 1, операция 4.5, операция типа 3.3, подкомпонента 3.3, предопределенная операция 4.5, предопределенный логический тип 3, принадлежать подтипу 3.3, простое выражение 4.4, пустая запись 3.7, пустой массив 1, размерность 3.6, скалярный тип 3.5, следующий 5, составной тип 3.3, ссылочное значение 3.8, ссылочное значение null 3.8, тип 3.3, тип компоненты 3.3, указывать

3. БИНАРНЫЕ АДДИТИВНЫЕ ОПЕРАЦИИ

Бинарные аддитивные операции + и - предопределены для любого числового типа и имеют свой обычный смысл. Операция катенации & предопределена для любого одномерного нелимитируемого индексируемого типа.

Знак

Операция

Тип левого

Тип правого

Тип результата

операции

операнда

операнда

+

сложение

Любой числовой ТИП

Тот же числовой ТИП

Тот же числовой ТИП

-

вычитание

Любой числовой ТИП

Тот же числовой ТИП

Тот же числовой ТИП

&

катенация

Любой индексируемый

ТИП

Тот же индексируемый

ТИП

Тот же индексируемый

ТИП

Любой индексируемый

ТИП

Тип компоненты

Тот же индексируемый

ТИП

Тип компоненты

Любой индексируемый

ТИП

Тот же индексируемый

ТИП

Тип компоненты

Тип компоненты

Любой индексируемый

ТИП

Для вещественных типов точность результата определяется типом операндов (см. 7).

Если оба операнда — одномерные массивы, то результатом катенации является одномерный массив, длина которого равна сумме длин операндов, а его компоненты составлены из компонент левого операнда и следующих за ними компонент правого операнда. Нижняя граница этого результата совпадает с нижней границей левого операнда, если левый операнд — не пустой массив; в противном случае результатом катенации является правый операнд.

Если один из операндов имеет тип компоненты индексируемого типа, то результат катенации определяется по приведенным выше правилам, где вместо этого операнда используется массив, имеющий этот операнд в качестве своей единственной компоненты, и с нижней границей, совпадающей с нижней границей подтипа индекса.

Операцией катенации возбуждается исключение CONSTRAINT_ERROR, если верхняя граница результата выходит за диапазон подтипа индекса, кроме того случая, когда результат — не пустой массив, а также когда какой-либо операнд, тип которого есть тип компоненты, имеет значение, не принадлежащее данному подтипу компоненты.









Содержание  Назад  Вперед