Spec-Zone.ru › Ada 2022
Справочник по Ada (Ada 2022)

5.2.1 Символы целевого имени

@, известный как целевое имя оператора присваивания, предоставляет сокращение, чтобы избежать повторения потенциально длинных имен в операторах присваивания.

Синтаксис

target_name ::= @

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

Если target_name встречается в операторе_присваивания A, переменная_имя V оператора A является полным контекстом. Целевое имя представляет собой постоянный вид V, имеющий номинальный тип V.

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

Целевое имя должно появляться только в выражении оператора_присваивания.

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

Для выполнения оператора_присваивания с одним или несколькими целевыми именами в его выражении, переменная_имя V оператора_присваивания вычисляется сначала для определения объекта, обозначаемого V, а затем выражение оператора_присваивания вычисляется с вычислением каждого целевого имени, которое возвращает постоянный вид целевого объекта, свойства которого в остальном идентичны свойствам вида, предоставленного V. Остальная часть выполнения оператора_присваивания осуществляется как указано в 5.2.

Примеры

Примеры использования символов целевого имени:
Board(1, 1) := @ + 1.0;
-- Сокращение для Board(1, 1) := Board(1, 1) + 1.0;
-- (Board объявлен в 3.6.1).
My_Complex_Array : array (1 .. Max) of Complex; -- См. 3.3.2, 3.8.
...
-- Возведите в квадрат элемент в позиции Count (см. 3.3.1):
My_Complex_Array (Count) := (Re => @.Re**2 - @.Im**2,
Im => 2.0 * @.Re * @.Im);
-- Целевое имя может использоваться несколько раз и
-- в качестве префикса, если нужно.


Spec-Zone.ru

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