Проверяйте существование переменной, скрипта, функции, папки или класса
exist nameexist name searchTypeA = exist(___)exist возвращает тип namename как номер. Этот список описывает тип, сопоставленный с каждым значением:
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 searchTypename, ограничивая результаты заданным типом, searchType. Если name типа, searchType не существует, MATLAB, возвращает 0.
Чтобы проверять существование файла или папки, также можно использовать функции isfile или isfolder. exist ищет файлы и папки на пути поиска файлов, который может привести к неожиданным результатам. isfolder и isfile ищут файлы или папки только на заданном пути или в текущей папке, которая может привести к более ясным и более быстрым результатам.