Переименование отрезка массива
Предположим, что у нас есть следующая строка:
Name : String(1..60); |
Причем, отрезок (1..30) - это фамилия (last name), отрезок (31..59) - имя (first name), символ в позиции 60 - это инициал отчества (middle name).
Используя переименования мы можем выполнить следующее:
declare
Last : String renames Name(1..30); First : String renames Name(31..59); Middle : String renames Name(60..60); begin Ada.Text_IO.Put_Line(Last); Ada.Text_IO.Put_Line(First); Ada.Text_IO.Put_Line(Middle); end; |
В результате, каждый вызов Put_Line будет обращаться к именованному объекту, а не к диапазону индексов.
При этом не осуществляется распределение дополнительного пространства для данных, а обеспечивается новое имя для доступа к уже существующим данным.