проверяет существование переменной
ve = isdef(name [,where])
матрица того же размера, что и name
с логическими значениями
матрица символьных строк
символьная строка, может быть 'l'
(для "local"
),
'n'
(для "nolocal"
) or
'a'
(для "all"
). Значение по умолчанию
'a'
.
isdef(name)
возвращает %T
, если
переменная с именем name
существует и %F
в противном случае.
![]() | Предостережение: функция, которая использует isdef , может
вернуть результат, который зависит от области видимости! |
isdef(name,'l')
возвращает %T
,
если переменная с именем name
существует в локальной
области видимости текущей функции и %F
в противном
случае.
isdef(name,'n')
возвращает
%T
, если переменная с именем name
существует в полной области видимости (включая глобальный уровень) текущей
функции и %F
в противном случае.
![]() | Примечание: учитывается только первая буква параметра where . |
A = 1; B = 2; C = 3; D = 4; isdef(['A', 'B'; 'C', 'D']) clear A B C D; isdef(['A', 'B'; 'C', 'D']) function level1() function level2() disp(isdef(["a", "b"], "a")); disp(isdef(["a", "b"], "l")); disp(isdef(["a", "b"], "n")); endfunction level2() endfunction function go() a = 1; level1() endfunction go() | ![]() | ![]() |