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 | Переменные | имена >> |