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, личностная или временная ценность установки не может быть изменена. PersonalValue аргумент требуется при создании настроек только для чтения.

Функция, чтобы подтвердить установку, определенный функцией указатель. Когда задано, функция используется, чтобы подтвердить значение установки.

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

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

Введенный в R2019b