Вложенные записи
Бывают случаи, когда компонент записи сам является записью, или, говоря иначе, требуется использование вложенных записей. Например:
type Point is record
X : Integer; Y : Integer; end record type Rect is record Left_Hight_Corner : Point; Right_Low_Corner : Point; end record P : Point := (100, 100); R : Rect; |
В этом случае, доступ к полям переменной R типа Rect
может быть выполнен следующим образом:
R.Left_Hight_Corner.X := 0; R.Left_Hight_Corner.Y := 0;
R.Right_Low_Corner := P; |
Для указания всех значений можно использовать агрегаты.
R_1 : Rect := ( (0, 0), (100, 100) ); R_2 : Rect := ( Left_Hight_Corner => (Y => 0, X => 0), Right_Low_Corner => (100, 100) ); |
Как видно из приведенных примеров, здесь используются вложенные агрегаты.