Spec-Zone.ru › Ada 2022
Руководство по Ada (Ada 2022)

4.3 Агрегаты

Агрегат объединяет значения компонентов в составное значение типа массива, типа записи или расширения записи.

Синтаксис

aggregate ::=
record_aggregate | extension_aggregate | array_aggregate
| delta_aggregate | container_aggregate

Правила разрешения имен

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

Правила легитимности

Агрегат записи или агрегат расширения не должен быть типом класса.

Динамические семантика

Для вычисления агрегата создается анонимный объект, и значения компонентов или предковой части извлекаются (как описано в последующем подпункте для каждого типа агрегата) и присваиваются соответствующим компонентам или предковой части анонимного объекта. Извлечение значений и присвоения происходят в произвольном порядке. Значение агрегата — значение этого объекта.
Если агрегат имеет тип с метками, выполняется проверка, соответствует ли его значение первому подтипу типа. Если эта проверка не пройдена, поднимается исключение Constraint_Error.


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API