Main Content

addSetting

新しい設定の追加

R2019b 以降

説明

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"
    InstallationValue: <no value>
         FactoryValue: <no value>

設定の値を表示します。

fprintf("Work address: %s.\n", s.mysettings.MyWorkAddress.ActiveValue)
Work address: 3 Apple Hill Drive.

removeGroup を使用して mysettings を削除します。

removeGroup(s,"mysettings");

関数 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("Work address: %s.\n", newHiddenGroup.MyHiddenWorkAddress.ActiveValue)
Work address: 1 Lakeside Campus Drive.

非表示のグループは、表示されるグループと同じ方法で削除できます。

removeGroup(s,"myhiddensettings")

設定グループを作成し、そのグループの既定の検証関数を指定します。この関数は、グループ内で独自の検証関数が定義されていないすべての設定の値を検証します。

入力が数値でない場合にエラーをスローする検証関数 numericValidationFcn を作成します。

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

関数 settings を使用して設定ツリーのルートにアクセスしてから、設定グループ myNumericSettings を作成します。検証関数を指定します。

s = settings;
newNumericGroup = addGroup(s,"myNumericSettings",...
    ValidationFcn=@numericValidationFcn);

myNumericSettings グループ内に新しい設定を作成し、その設定の値を数値以外の値に設定しようとすると、MATLAB でエラーが発生します。たとえば、次のステートメントを実行すると、MATLAB でエラーが発生します。このステートメントは PersonalValue を数値ではなく string に設定しようとします。

addSetting(newNumericGroup,"mySetting",PersonalValue="Hello")

removeGroup を使用して myNumericSettings を削除します。

removeGroup(s,"myNumericSettings");

入力引数

すべて折りたたむ

設定の追加先の親設定グループ。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 で導入