Проверяйте существование переменной, скрипта, функции, папки или класса
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
.
Чтобы проверить существование файла или папки, вы также можете использовать isfolder
или isfile
функций. exist
ищет файлы и папки в пути поиска файлов, что может привести к неожиданным результатам. isfolder
и isfile
поиск файлов или папок только по указанному пути или в текущей папке, что может привести к более четким и быстрым результатам.