Передача struct
флагов:
options = struct(...
'Flag1', true, ...
'Flag2', true, ...
'MySpecifFlag', false ...
);
Foo(st, options);
Чтобы получить список всех флагов, которые были явно установлены пользователем, используйте fieldnames
:
passedOptions = fieldnames(options);
Возвращает массив ячеек, элементы которого являются строками - эти строки являются флагами, установленными пользователем; i
-й элемент массива - это i
-й флаг, установленный пользователем.
Доступ к значению каждого установленного флага:
options.(passedOptions{i}) %# gets the value of the flag corresponding to passedOptions{i}