addSetting

Добавить новую настройку

Описание

пример

s = addSetting(parentgroup,name) добавляет новую настройку в указанную родительскую группу параметров и возвращает Setting объект, содержащий новую настройку. По умолчанию настройки не скрыты, что означает, что они отображаются в родительской группе настроек.

пример

s = addSetting(___,Name,Value) задает свойства настройки с помощью одного или нескольких аргументов пары "имя-значение". Для примера, 'PersonalValue',10 добавляет новую настройку с личным значением 10. Задайте пары "имя-значение" после всех других входных параметров.

Примеры

свернуть все

Создайте группу параметров и добавьте новую настройку к группе. Затем используйте значение настройки в коде.

Создайте группу настроек mysettings.

s = settings;
addGroup(s,'mysettings');

Добавьте настройку MyWorkAddress на mysettings и дайте ему значение.

addSetting(s.mysettings,'MyWorkAddress');
s.mysettings.MyWorkAddress.PersonalValue = '3 Apple Hill Drive';
s.mysettings.MyWorkAddress
ans = 
  Setting 'mysettings.MyWorkAddress' with properties:
       ActiveValue: '3 Apple Hill Drive'
    TemporaryValue: <no value>
     PersonalValue: '3 Apple Hill Drive'
      FactoryValue: <no value>

Отобразите значение параметра.

fprintf("I work at %s.\n", s.mysettings.MyWorkAddress.ActiveValue)
I work at 3 Apple Hill Drive.

Используйте settings функция для доступа к корню дерева настроек. Затем создайте группу настроек, добавьте в группу новый скрытый параметр и используйте значение параметра в коде.

Создайте группу скрытых настроек myhiddensettings.

s = settings;
newHiddenGroup = addGroup(s,'myhiddensettings','Hidden',true);

Добавьте настройку MyHiddenWorkAddress на myhiddensettings и дайте ему значение. Заметьте, что новая настройка не отображается при отображении родительской группы параметров.

addSetting(newHiddenGroup,'MyHiddenWorkAddress','Hidden',true, ...
    'PersonalValue','1 Lakeside Campus Drive');
s.myhiddensettings
ans = 
  SettingsGroup 'myhiddensettings' with no properties.

Отображение значения скрытой настройки.

fprintf("I work at %s.\n", newHiddenGroup.MyHiddenWorkAddress.ActiveValue)
I work at 1 Lakeside Campus Drive.

Создайте настройку и задайте функцию, чтобы подтвердить ее значение.

Во-первых, создайте функцию валидации numericValidationFcn выдает ошибку, когда вход не является числовым.

function numericValidationFcn(x)
    errorMsg = 'Value must be numeric.'; 
    assert(isnumeric(x),errorMsg);
end

Создайте группу настроек mysettings.

s = settings;
addGroup(s,'mysettings');

Добавьте настройку MyNumericSetting на mysettings и задайте функцию валидации numericValidationFcn.

addSetting(s.mysettings,'MyNumericSetting','ValidationFcn',@numericValidationFcn);

Теперь проверьте, работает ли функция валидации. Установите значение MyNumericSetting в нечисловое значение. Как и ожидалось, MATLAB® выдает ошибку.

s.mysettings.MyNumericSetting.PersonalValue = 'Hello';
Unable to validate settings data. Error using numericValidationFcn (line 3)
Value must be numeric.

Входные параметры

свернуть все

Родительская группа настроек, в которую нужно добавить настройку, заданную как SettingsGroup объект. Используйте settings функция для доступа к групповому объекту корневых настроек и всем доступным группам настроек.

Имя параметра для добавления, заданное как вектор символов или строковый скаляр. Если name уже существует в указанной группе параметров, MATLAB выдает ошибку.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: addSetting(a,'mySetting','PersonalValue',10,'Hidden',true) добавляет новую скрытую настройку с личным значением 10 в указанную родительскую группу параметров.

Персональное значение настройки, заданное как данные MATLAB любого типа, кроме типов указателей. Контейнеры данных, такие как массивы ячеек, структуры и объекты, которые включают указатели, также не поддерживаются. Этот аргумент требуется при создании параметров только для чтения.

Скрытое состояние, заданное как true или false.

Когда установлено значение trueгруппы настроек и настройки внутри группы не отображаются, хотя и остаются доступными.

Состояние только для чтения, заданное как true или false. Когда trueне может быть изменено личное или временное значение параметра. The PersonalValue аргумент требуется при создании параметров только для чтения.

Функция для проверки настройки, заданная как указатель на функцию. Если задано, функция используется для проверки значения параметра.

Указатель на функцию должен быть связан с функцией, которая принимает потенциальное значение настройки как входной параметр, не имеет выходных аргументов и выдает ошибку, если валидация не удается.

Указатель на функцию должен указывать на функцию в пути MATLAB. Анонимные или вложенные указатели на функцию не поддерживаются.

Введенный в R2019b