Языки программирования - концепции и принципы

Кроме того, всегда можно добавить


Кроме того, всегда можно добавить глобальную переменную, не беспокоясь о том, что ее имя совпадет с именем какой-нибудь локальной переменной, которое ис­пользуется одним из программистов вашей группы. Недостаток же состоит в том, что имя переменной могло быть случайно перекрыто, особенно если ис­пользуются большие включаемые файлы для централизации глобальных объ­явлений, поэтому, вероятно, лучше избегать перекрытия имен переменных. Однако нет никаких возражений против многократного использования име­ни в разных областях действия, так как нельзя получить доступ к обеим пере­менным одновременно независимо от того, являются имена одинаковыми или разными:

procedure Main is

Ada

   procedure Proc_1 is

               Index: Integer;                                       -- Одна область действия

               …

   endProc_1;  

     procedure Proc_2 is



         Index: Integer;                                             -- Неперекрывающаяся область действия

             …

         end Proc_2;

begin – Main



end Main;

Глубина вложения

Принципиальных ограничений на глубину вложения нет, но ее может произ­вольно ограничивать компилятор. Область действия и видимость определя­ются правилами, данными выше: область действия переменной — от точки ее объявления до конца блока, а видимость — такая же, если только не скрыта внутренним объявлением. Например:

procedure Main is

Ada

     Global: Integer;

     procedure Level_1 is

      Local: Integer;                                      -- Внешнее объявление Local

procedure Level_2 is

            Local: Integer;                                --Внутреннее объявление Local

       begin -- Level_2

            Local := Global;                             -- Внутренняя Local скрывает внешнюю Local

       end Level_2;

begin -- Level_1

     Local := Global;                                     -- Только внешняя Local в области действия


Содержание раздела