substruct

Создайте аргумент структуры для subsasgn или subsref

Синтаксис

S = substruct(type1, subs1, type2, subs2, ...)

Описание

S = substruct(type1, subs1, type2, subs2, ...) создает структуру с полями, требуемыми перегруженным subsref или subsasgn метод. Каждый type char вектор должен быть одним из '.', '()', или '{}'. Соответствующий subs аргумент должен быть любой именем поля (для '.' введите) или массив ячеек, содержащий векторы индекса (для '()' или '{}' типы).

Выходные аргументы

S

struct с этими полями:

  • type: один из '.', '()', или '{}'

  • subs: значения индекса (имя поля или массив ячеек векторов индекса)

Примеры

Вызвать subsref с аргументами, эквивалентными синтаксису:

B = A(3,5).field;

где A объект класса, который реализует subsref метод

Используйте substruct сформировать вход structS:

S = substruct('()',{3,5},'.','field');

Вызовите метод класса:

B = subsref(A,S);

struct созданный substruct в этом примере содержит:

disp(S(1))
    type: '()'
    subs: {[3]  [5]}

disp(S(2))
    type: '.'
    subs: 'field'

Расширенные возможности

Представлено до R2006a