mustBeMember
値が指定集合のメンバーであることを検証
説明
mustBeMember(
は value
,S
)value
が S
により指定された値の集合のメンバーでない場合にエラーをスローします。value
で指定された値の集合は大文字と小文字を区別した上で完全一致していなければなりません。mustBeMember
は値を返しません。
mustBeMember
をプロパティまたは関数の引数の検証関数として使用する場合は、プロパティの既定値が集合のメンバーであることを確認してください。
mustBeMember
は以下の関数を呼び出して、value
が S
により指定された値の集合のメンバーであるかどうかを判別します。
クラス サポート: すべての数値クラス、logical
、char
、および ismember
をオーバーロードする MATLAB® クラス。
例
1 番目の入力が集合のメンバーであることを検証
mustBeMember
を使用して、1 番目の入力が、2 番目の入力で指定された値の集合のメンバーであることを検証します。
文字ベクトル 'red'
が、文字ベクトルの集合 'yellow'
、'green'
、'blue'
のメンバーであることを検証します。
A = 'red'; B = {'yellow','green','blue'}; mustBeMember(A,B)
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 は許可されている値を示すエラー メッセージを返します。
関数の引数値の制限
この関数は、2 つの入力引数を宣言します。入力 n
はスカラー数値でなければならず、入力 typename
は single
または double
のいずれかの文字ベクトルでなければなりません。
function r = mbMember(n,typename) arguments n (1,1) {mustBeNumeric} typename {mustBeMember(typename,{'single','double'})} = 'single' end r = rand(n,typename); end
次の関数の呼び出しは、mustBeMember
で定義されている要件を満たさない typename
の値を使用しており、エラーになります。
r = mbMember(5,'int32');
Error using mbMember r = mbMember(5,'int32'); ↑ Invalid input argument at position 2. Value must be a member of this set: 'single' 'double'
入力引数
value
— 検証する値
スカラー | 配列
検証する値。スカラーまたは次のいずれかの配列として指定します。
mustBeMember
をプロパティ検証として使用する場合、この引数は引用符なしのプロパティ名でなければなりません。
例: PropName {mustBeMember(PropName,{'High','Medium','Low'})} = 'Low'
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| string
| cell
複素数のサポート: あり
S
— value
が属さなければならない値の集合
スカラー | 配列
value
が属さなければならない値の集合。次のいずれかとして指定します。
例: 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
| cell
複素数のサポート: あり
ヒント
mustBeMember
は、プロパティと関数の引数の検証で使用されるように設計されています。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2017a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)