Чтобы отобразить пользовательскую информацию об объектах вашего класса, когда они будут сохранены в контейнере, выведите свой класс из 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