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