Порядок приоритета функций

Эта тема объясняет, как MATLAB® определяет, какую функцию вызвать, когда несколько функций в текущем осциллографе имеют то же имя. Текущий осциллограф включает текущий файл, дополнительную частную подпапку относительно в настоящее время рабочей функции, текущей папки и пути MATLAB.

MATLAB использует этот порядок приоритета:

  1. Переменные

    Прежде, чем принять, что имя совпадает с функцией, проверками MATLAB на переменную с тем именем в текущей рабочей области.

    Примечание

    Если вы создаете переменную с тем же именем как функция, MATLAB не может запустить эту функцию, пока вы не очищаете переменную из памяти.

  2. Импортированные классы пакета и функции

    Функция пакета сопоставлена с конкретной папкой. Когда вы импортируете функцию пакета использование функции import, оно имеет приоритет по всем другим функциям с тем же именем.

  3. Вложенные функции в текущей функции

  4. Локальные функции в текущем файле

  5. Закрытые функции

    Функции Private являются функциями в подпапке под названием private, который сразу является ниже папки текущего петляния.

  6. Функции объекта

    Объектная функция принимает конкретный класс объекта в его списке входных параметров. Когда существует несколько объектных функций с тем же именем, MATLAB проверяет классы входных параметров, чтобы определить который функция использовать.

  7. Конструкторы класса в папки

    MATLAB использует конструкторов класса, чтобы создать множество объектов (таких как timeseries или audioplayer), и можно задать собственные классы с помощью объектно-ориентированного программирования. Например, если вы создаете папку @polynom класса и функцию конструктора @polynom/polynom.m, конструктор более приоритетен по сравнению с другими функциями с именем polynom.m где угодно на пути.

  8. Загруженные модели Simulink®

  9. Функции в текущей папке

  10. Функции в другом месте на пути, в порядке внешнего вида

При определении приоритета функций в той же папке MATLAB рассматривает тип файла в этом порядке:

  1. Встроенная функция

  2. MEX-функция

  3. Файлы модели Simulink, которые не загружаются с типами файлов в этом порядке:

    1. Файл SLX

    2. Файл MDL

  4. Файл приложения (.mlapp), созданный с помощью MATLAB App Designer

  5. Программный файл с расширением .mlx

  6. P-файл (то есть, закодированный программный файл с расширением .p)

  7. Программный файл с расширением .m

Например, если MATLAB находит файл .m и P-файл с тем же именем в той же папке, это использует P-файл. Поскольку P-файлы автоматически не регенерированы, убедитесь, что вы регенерируете P-файл каждый раз, когда вы редактируете программный файл.

Определить функциональный MATLAB призывает к конкретному входу, включайте имя функции и вход в вызове функции which.

Похожие темы