Ада-95. Компилятор GNAT

       

Локальные подпрограммы


Также как и Паскаль, и в отличие от Си, Ада позволяет встраивать одни подпрограммы в другие подпрограммы, конструируя один общий компилируемый модуль.

Другими словами, подпрограмма Ады может содержать внутри себя вложенные подпрограммы, которые не будут видимы извне этой подпрограммы.

К таким локальным подпрограммам можно обращаться только из подпрограммы которая их содержит.

with Ada.Text_IO; use Ada.Text_IO; with Ada.Integer_Text_IO; use Ada.Integer_Text_IO;

procedure Ive_Got_A_Procedure is

X : Integer := 6; Y : Integer := 5;

procedure Display_Values (Number : Integer) is

begin

Put (Number); New_Line; end Display_Values;

begin

Display_Values (X); Display_Values (Y); end Ive_Got_A_Procedure;

В этом примере область видимости процедуры Display_Values ограничивается процедурой Ive_Got_A_Procedure. Таким образом, процедура Display_Values

"не видна" и не может быть вызвана из любого другого места.



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