Перегрузка функции disp

Методы отображения

Функции подклассирования matlab.mixin.CustomDisplay является оптимальным подходом к настройке отображения объектов. Однако, если вы не производите свой класс от matlab.mixin.CustomDisplay, перегрузите disp функция для изменения способа MATLAB® отображает объекты вашего класса.

MATLAB вызывает display функция всякий раз, когда объект упоминается в операторе, который не прерывается точкой с запятой. Для примера следующий оператор создаёт переменную a. MATLAB вызывает display, в котором отображается значение a в командной строке.

a = 5
a =
    5

display затем вызовы disp.

Перегруженный диск

Встроенный display функция печатает имя отображаемой переменной, если выполнено назначение, или иным образом использует ans как имя переменной. Затем display вызывает disp для обработки фактического отображения значений.

Если отображаемая переменная является объектом класса, который перегружает dispMATLAB всегда вызывает перегруженный метод. MATLAB вызывает display с двумя аргументами и передает имя переменной как второй аргумент.

Отношение между диском и отображением

MATLAB вызывает встроенную display функция, когда происходит следующее:

  • MATLAB выполняет оператор, который возвращает значение и не прерывается точкой с запятой.

  • Левой переменной нет, затем MATLAB печатает ans = далее указывается значение.

  • Код явно вызывает display функция.

При вызове display:

  • Если входной параметр является существующей переменной, display печатает имя переменной и знак равенства, за которым следует значение.

  • Если вход является результатом выражения, отображение не печатается ans =.

MATLAB вызывает встроенную disp функция, когда происходит следующее:

  • Встроенный display вызовы функций disp.

  • Код явно вызывает disp.

Для пустых встроенных типов (числовые типы, char, struct, и cell) display отображает функцию:

  • [] - для числовых типов

  • "0x0 struct array with no fields." - для пустых structs.

  • "0x0 empty cell array" - для пустых массивов ячеек.

  • "0x0 empty char array" - для пустых char массивы

  • "0x0 empty string array" - для пустых string массивы

disp отличается от display следующими способами:

  • disp не печатает имя переменной или ans.

  • disp ничего не печатает для встроенных типов (числовые типы, char, struct, и cell), когда значение пустое.

Похожие темы