Main Content

addSetting

説明

s = addSetting(parentgroup,name) は、指定した親設定グループに新しい設定を追加し、新しい設定を含む Setting オブジェクトを返します。既定では、設定は非表示ではありません。つまり、親設定グループ内に表示されます。

s = addSetting(___,Name,Value) は、1 つ以上の名前と値のペアの引数を使用して、設定のプロパティを指定します。たとえば、'PersonalValue',10 は、個人用の値が 10 の新しい設定を追加します。名前と値のペアは他のすべての入力引数の後で指定します。

すべて折りたたむ

設定グループを作成し、そのグループに新しい設定を追加します。次に、その設定の値をコード内で使用します。

設定グループ mysettings を作成します。

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

設定 MyWorkAddressmysettings に追加して、値を指定します。

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);

設定 MyHiddenWorkAddressmyhiddensettings に追加して、値を指定します。親設定グループを表示しても新しい設定が表示されないことに注目してください。

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');

設定 MyNumericSettingmysettings に追加して、検証関数 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 を使用します。

追加する設定の名前。文字ベクトルまたは string スカラーとして指定します。指定した設定グループに name が既に存在する場合、MATLAB はエラーをスローします。

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: addSetting(a,'mySetting','PersonalValue',10,'Hidden',true) は、個人用の値が 10 の新しい非表示の設定を、指定した親設定グループに追加します。

設定の個人用の値。ハンドル タイプを除く任意の型の MATLAB データとして指定します。ハンドルを含む cell 配列、struct、オブジェクトなどのデータ コンテナーもサポートされません。この引数は、読み取り専用の設定を作成する場合は必須です。

非表示の状態。true または false として指定します。

true に設定すると、設定グループおよびグループ内の設定は表示されませんが、アクセスは可能なままです。

読み取り専用の状態。true または false として指定します。true の場合、設定の個人用の値または一時的な値は変更できません。PersonalValue 引数は、読み取り専用の設定を作成する場合には必須です。

設定を検証する関数。関数ハンドルとして指定します。指定した関数は、設定の値の検証に使用されます。

関数ハンドルを関連付ける関数は、設定可能な値を入力引数として受け入れ、出力引数をもたず、検証が失敗した場合にエラーをスローするものでなければなりません。

関数ハンドルは、MATLAB パス上の関数をポイントしなければなりません。無名または入れ子の関数ハンドルはサポートされません。

バージョン履歴

R2019b で導入