<< Предыдущая Оглавление Следующая >>


4.2. Область видимости переменных

Следует отметить, что переменные, объявленные внутри функций, имеют область видимости только в пределах функции, и за ее пределами уже не доступны (не видны). Следующий пример программы демонстрирует механизм области видимости имен переменных в MatLab:

function MyFunc
x = 10;
disp(x);
MyFunc2();
 
function MyFunc2()
disp(x);

В результате на экране будет отображено

10
??? Undefined function or variable 'x'.

Этот пример показывает, что переменная с именем x, объявленная в функции MyFunc, не доступна в функции MyFunc2. Это сделано с расчетом, чтобы переменные в разных функциях не влияли друг на друга даже если они имеют одни и те же имена. Однако в некоторых случаях требуется, чтобы переменная была видна за пределами функции, в которой объявлена. Это достигается путем обращения к переменной как к глобальной с помощью ключевого слова global, за которым следует имя глобальной переменной. Перепишем пример, представленный выше с использованием глобальной переменной:

function MyFunc
x = 10;
disp(x);
MyFunc2();
 
function MyFunc2()
global x;
disp(x);

Обратите внимание, что ключевое слово global написано в функции MyFunc2 и говорит о том, что переменная x уже объявлена ранее и нужно ее использовать внутри текущей функции.

 



<< Предыдущая Оглавление Следующая >>