Main Content

addGroup

新しい設定グループの追加

説明

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

s = addGroup(___,Name,Value) は、1 つ以上の名前と値のペアの引数を使用して、設定グループのプロパティを指定します。たとえば、'Hidden',true は非表示の設定グループを追加します。名前と値のペアは他のすべての入力引数の後で指定します。

すべて折りたたむ

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

s = settings;
newGroup = addGroup(s,'mysettings');
s
s = 
  SettingsGroup with properties:
                   matlab: [1×1 SettingsGroup]
               mysettings: [1×1 SettingsGroup]
    mldrivetripwireaccess: [1×1 SettingsGroup]

関数 settings を使用して設定ツリーのルートにアクセスし、非表示の設定グループ myhiddensettings を作成します。親設定グループを表示しても、新しいグループが表示されないことに注目してください。

s = settings;
addGroup(s,'myhiddensettings','Hidden',true);
s
s = 
  SettingsGroup with properties:
                   matlab: [1×1 SettingsGroup]
    mldrivetripwireaccess: [1×1 SettingsGroup]

myhiddensettings は、設定ツリーには表示されませんが、アクセスは可能です。たとえば、設定グループ myveryhiddensettingsmyhiddensettings 内に作成します。

addGroup(s.myhiddensettings,'myveryhiddensettings');
s.myhiddensettings
s = 
  SettingsGroup 'matlab.myhiddensettings' with properties:
    myveryhiddensettings: [1×1 SettingsGroup]

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

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

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

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

s = settings;
newNumericGroup = addGroup(s,'mynumericsettings','ValidationFcn',@numericValidationFcn);

次に、検証関数が機能するかどうかをテストします。mynumericsettings グループ内に設定 MyNonNumericSetting を作成し、設定の値を数値以外の値に設定します。予想どおり、MATLAB® はエラーをスローします。

addSetting(newvalidatedGroup,'MyNonNumericSetting','PersonalValue','Hello')
Error using matlab.settings.SettingsGroup/addSettingHelper
Unable to validate settings data. Error using numericValidationFcn (line 3)
Value must be numeric.

Error in matlab.settings.SettingsGroup/addSetting (line 74)
    out = obj.addSettingHelper(results,defaultsUsed);

Error in matlab.settings.SettingsGroup/addSetting (line 74)
    out = obj.addSettingHelper(results,defaultsUsed);

入力引数

すべて折りたたむ

グループの追加先の親設定グループ。SettingsGroup オブジェクトとして指定します。ルートの設定グループ オブジェクトおよび利用可能なすべての設定グループにアクセスするには、関数 settings を使用します。

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

名前と値の引数

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

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

例: addGroup(parentgroup,'myGroup','Hidden',true) は、指定した親設定グループに新しい非表示の設定グループを追加します。

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

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

グループ内の設定を検証する関数。関数ハンドルとして指定します。指定した関数は、グループ内で独自の検証関数が定義されていないすべての設定の値を検証するために使用されます。

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

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

バージョン履歴

R2019b で導入