isglobal
проверяет имеет ли локальная переменная глобальную копию
Синтаксис
t = isglobal(varname)
Аргументы
- varname
текст: имя любой отдельной локальной переменной. Это не переменная сама по себе (это предоставляет своё содержимое), а её имя.
- t
логическое значение
Описание
isglobal("x") возвращает %T, если переменная
x определена локально и указывает на глобальную копию. В противном случае
она возвращает %F.
![]() |
|
![]() | Список всех переменных, определённых в глобальном пространстве (не не обязательно в локальном)
может быть получен с помощью who("global"). |
Примеры
Пример №1 с предопределённой глобальной переменной:
mprintf("%s\n", who("global")) // demolist содержит глобальную переменную... isdef("demolist") // %F: ... но нет локальной переменной (пока) demolist(1) // => "Переменная не определена" isglobal("demolist") // => %F, поскольку в нём нет локальных определений global demolist // Мы определяем локальный demolist и заставляем его указывать на // существующую глобальную переменную demolist($,:) // Здесь последняя строка содержимого существующей глобальной переменной isglobal("demolist") // => теперь %T
--> mprintf("%s\n", who("global")) // demolist содержит глобальную переменную...
%helps
%modalWarning
%toolboxes
%toolboxes_dir
demolist
--> isdef("demolist") // %F: ... но нет локальной переменной (пока)
ans =
F
--> demolist(1) // => "Переменная не определена"
Неопределённая переменная: demolist
--> isglobal("demolist") // => %F, поскольку в нём нет локальных определений
ans =
F
--> global demolist // Мы определяем локальный demolist и заставляем его указывать на
// существующую глобальную переменную
--> demolist($,:) // Здесь последняя строка содержимого существующей глобальной переменной
ans =
!Xcos SCI\modules\xcos\demos\xcos.dem.gateway.sce !
--> isglobal("demolist") // => теперь %T
ans =
T
Пример №2 с пользовательской переменной:
// В списке ниже "abc" не существует. Давайте создадим её локально и глобально: global abc // инициализируется как [] isdef("abc") // => %T isglobal("abc") // => %T abc = %pi; // Записывает одновременно в локальном И глобальном пространствах clear abc // Удаляем локальное определение, но не глобальное abc // => "неопределённая переменная" isglobal("abc") // => %F, поскольку больше нет локальных псевдонимов global abc // переопределим abc, связанную с её глобальной копией. Что это? abc
--> // В списке ниже "abc" не существует. Давайте создадим её локально и глобально:
--> global abc // инициализируется как []
--> isdef("abc") // => %T
ans =
T
--> isglobal("abc") // => %T
ans =
T
--> abc = %pi; // Записывает одновременно в локальном И глобальном пространствах
--> clear abc // Удаляем локальное определение, но не глобальное
--> abc // => "неопределённая переменная"
Неопределённая переменная: abc
--> isglobal("abc") // => %F, поскольку больше нет локальных псевдонимов
ans =
F
--> global abc // переопределим abc, связанную с её глобальной копией. Что это?
--> abc
abc =
3.1415927
Смотрите также
- global — определение глобальной переменной
- clearglobal — уничтожает глобальные переменные
- who — список переменных
- isdef — проверяет существование переменной
| Report an issue | ||
| << isdef | Переменные | имена >> |

