проверяет существование переменной
ve = isdef(name) ve = isdef(name, where)
матрица символьных строк
символьная строка, может быть 'l' (для "local"),
'n' (для "nolocal") or
'a' (для "all"). Значение по умолчанию
'a'.
матрица того же размера, что и name с логическими значениями
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() | ![]() | ![]() |