Чтобы отобразить пользовательскую информацию об объектах вашего класса, когда они будут сохранены в контейнере, выведите свой класс из matlab.mixin.CustomCompactDisplayProvider
интерфейс и переопределение выбирают методы интерфейса.
В вашей текущей папке создайте Weekdays
класс перечисления путем разделения на подклассы matlab.mixin.CustomCompactDisplayProvider
. Чтобы настроить компактное отображение для одной линии и колоночных размещений, замените compactRepresentationForSingleLine
и compactRepresentationForColumn
методы, соответственно:
Однострочное размещение — Подгонка как можно больше элементов объектного массива в доступной ширине символов. Кроме того, добавьте аннотацию, если массив включает дни выходных дней. Чтобы настроить компактное отображение для однострочного размещения, закажите телефонный разговор с widthConstrainedDataRepresentation
служебный метод в compactRepresentationForSingleLine
.
Колоночное размещение — Подгонка все элементы объектного массива в доступной ширине символов или иначе использование измерения массива и имя класса. Кроме того, добавьте аннотацию для каждой строки объектного массива, который включает дни выходных дней. Чтобы настроить компактное отображение для колоночного размещения, закажите телефонный разговор с fullDataRepresentation
служебный метод в compactRepresentationForColumn
.
В Командном окне создайте структуру с полем, которое содержит массив некоторых Weekdays
объекты. MATLAB отображает все элементы массива в одной строке. Кроме того, потому что массив включает член перечисления WeekDays.Saturday
, MATLAB отображает аннотацию.
s =
struct with fields:
FreeLunchDays: [Monday Wednesday Friday Saturday] (Includes Weekends)
Создайте другой Weekdays
массив со многими элементами, так, чтобы они не могли все быть отображены в одной строке. Когда вы присваиваете этот массив s.FreeLunchDays
, MATLAB отображает как можно больше ведущих элементов массива и использует символ замещающего знака, чтобы представлять не использованные элементы.
s =
struct with fields:
FreeLunchDays: [Friday Friday Friday Friday Friday Friday Friday Friday … ]
Теперь протестируйте пользовательское компактное отображение WeekDays
объекты для колоночного размещения. Создайте таблицу T
это содержит WeekDays
массив, включающий несколько элементов. Поскольку доступная ширина символов является достаточно большой, MATLAB отображает все элементы массива. Кроме того, потому что вторая строка массива включает член перечисления WeekDays.Saturday
, MATLAB отображает аннотацию для той строки.
T =
2×2 table
Location FreeLunchDays
__________ __________________________________________
"Boston" Wednesday Friday
"New York" Thursday Saturday (Includes Weekends)
Обновите FreeLunchDays
переменная с помощью WeekDays
массив со многими элементами. Поскольку MATLAB больше не может отображать все элементы массива в доступной ширине символов, он использует измерения массива и имя класса.
T =
2×2 table
Location FreeLunchDays
__________ _____________
"Boston" 1×52 WeekDays
"New York" 1×52 WeekDays