ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

mustBeMember

値が指定集合のメンバーであることを検証

説明

mustBeMember(A,B)AB により指定された値の集合のメンバーでない場合にエラーを発行します。A で指定された値の集合は大文字と小文字を区別した上で完全一致していなければなりません。mustBeMember は値を返しません。

mustBeMember をプロパティ検証関数として使用する場合、プロパティの既定値が集合のメンバーであることを確認してください。

オブジェクトのクラスが次のメソッドを実装する場合、この関数はユーザー定義オブジェクトを受け入れます。

すべて折りたたむ

mustBeMember を使用して、1 番目の入力が、2 番目の入力で指定された値の集合のメンバーであることを検証します。

文字ベクトル 'red' が、文字ベクトルの集合 'yellow''green''blue' のメンバーであることを検証します。

A = 'red';
B = {'yellow','green','blue'};
mustBeMember(A,B)
Error using mustBeMember (line 14)
Value must be a member of this set
    'yellow'
    'green'
    'blue'

'red' はこの集合のメンバーでないため、検証は失敗します。MATLAB® は許可されている値を示すエラー メッセージを返します。

プロパティ値を特定の値の集合に制約します。

このクラスは Prop1 の値を 'yellow''green''blue' のいずれかに制約します。

classdef MyClass
   properties
      Prop1 {mustBeMember(Prop1,{'yellow','green','blue'})} = 'yellow'
   end
end

既定のプロパティ値は、検証で設定された制限を遵守しなければなりません。そのため、集合のメンバーである既定値を明示的に割り当てなければなりません。

オブジェクトを作成して、プロパティに値を割り当てます。

obj = MyClass
obj.Prop1 = 'red';
Error setting 'Prop1' property of 'MyClass' class:
Value must be a member of this set
    'yellow'
    'green'
    'blue'

'red' はこの集合のメンバーでないため、検証は失敗します。MATLAB は許可されている値を示すエラー メッセージを返します。

入力引数

すべて折りたたむ

検証する値。スカラーまたは次のいずれかの配列として指定します。

  • logicalstringchar または任意の数値クラス

  • logical 配列、string 配列、cellstr または数値配列

  • ismember を実装する MATLAB クラス

mustBeMember をプロパティ検証として使用する場合、この引数は引用符なしのプロパティ名でなければなりません。

例: PropName {mustBeMember(PropName,{'High','Medium','Low'})} = 'Low'

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string
複素数のサポート: あり

A が属さなければならない値の集合。次のいずれかとして指定します。

  • logicalstringchar または任意の数値クラス

  • logical 配列、string 配列、cellstr または数値配列

  • ismember を実装する MATLAB クラス

例: char ベクトルの cell 配列をもつプロパティ: PropName {mustBeMember(PropName,{'yellow','green','blue'})} = 'blue'

例: string 配列をもつプロパティ: PropName {mustBeMember(PropName,["yellow","green","blue"])} = "blue"

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string
複素数のサポート: あり

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

R2017a で導入