Динамические массивы
Ада позволяет не указывать размеры массива при написании программы. В этом случае размеры массива не фиксируются во время компиляции программы, а определяются во время ее выполнения, что во многих случаях более предпочтительно. Массивы подобного вида известны как динамические массивы. Кроме того, в отличие от многих других языков программирования, Ада позволяет использование динамических массивов в качестве значения результата, возвращаемого функцией.
declare
X : Integer := Y -- значение Y описано где-то в другом месте A : array (1..X) of Integer; begin for I in A'Range loop . . . end loop; end; procedure Demo(Item : String) is Copy : String(Item'First..Item'Last) := Item; Double : String(1..2 * Item'Length) := Item & Item; begin . . . |
Следует заметить, что не стоит позволять вводу пользователя устанавливать размер массива, и приведенный пример (с декларативным блоком) не должен использоваться как способ решения этой задачи. Использование второго примера наиболее типично.
Copyright (C) А.Гавва | V-0.4w май 2004 |