Проверяйте существование переменной, скрипта, функции, папки или класса
exist name
exist name searchType
A = exist(___)
exist
возвращает тип name
name
как номер. Этот список описывает тип, сопоставленный с каждым значением:
0 — name
не существует или не может быть найден по другим причинам. Например, если name
существует в ограниченной папке, к которой MATLAB® не имеет доступа, exist
возвращается 0.
1 — name
является переменной в рабочей области.
2 — name
является файлом с дополнительным .m
, .mlx
или .mlapp
, или name
является именем файла с незарегистрированным расширением файла (.mat
, .fig
, .txt
).
3 — name
является файл MEX на вашем пути поиска файлов MATLAB.
4 — name
является загруженной моделью Simulink® или моделью Simulink или файлом библиотеки на вашем пути поиска файлов MATLAB.
5 — name
является встроенная функция MATLAB. Это не включает классы.
6 — name
является Pcode-файл на вашем пути поиска файлов MATLAB.
7 — name
является папкой.
8 — name
является классом. (exist
возвращается 0 для классов Java, если вы запускаете MATLAB с опции -nojvm
.)
Достигнуты поисковые запросы MATLAB, запускающиеся наверху пути поиска файлов и спускающиеся, пока результат не найден или последняя папка на пути. Если больше чем один name
существует в папке, MATLAB отображает первую инстанцию name
, согласно Порядку приоритета функций. Папки являются исключением к функциональным правилам приоритета. У них есть приоритет по всем типам за исключением переменных и встроенных функций.
Например, если name
совпадает и с файлом расширению .m
и с Pcode-файлом, то exist
возвращается 6, идентифицируя его как Pcode-файл. Если name
соответствия и переменная и Pcode-файл, существует, возвращается 1, идентифицируя его как переменную. Если name
совпадает и с папкой и с функцией MATLAB, exist
возвращает 7
, идентифицируя его как папку.
exist
возвращает тип name
searchType
name
, ограничивая результаты заданным типом, searchType
. Если name
типа, searchType
не существует, MATLAB, возвращает 0
.
Чтобы проверять существование файла или папки, также можно использовать функции isfile
или isfolder
. exist
ищет файлы и папки на пути поиска файлов, который может привести к неожиданным результатам. isfolder
и isfile
ищут файлы или папки только на заданном пути или в текущей папке, которая может привести к более ясным и более быстрым результатам.