主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

mustBeMember

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

説明

mustBeMember (价值年代价值年代により指定された値の集合のメンバーでない場合にエラーをスローします。价值で指定された値の集合は大文字と小文字を区別した上で完全一致していなければなりません。mustBeMemberは値を返しません。

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

mustBeMemberは以下の関数を呼び出して,价值年代により指定された値の集合のメンバーであるかどうかを判別します。

クラスサポート:すべての数値クラス,逻辑字符,およびismemberをオーバーロードするMATLAB®クラス。

すべて折りたたむ

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

文字ベクトル“红色”が,文字ベクトルの集合“黄色”“绿色”“蓝”のメンバーであることを検証します。

一个=“红色”;B = {“黄色”“绿色”“蓝”};mustBeMember (A, B)
Value必须是这个集合'yellow' 'green' 'blue'的成员。

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

このクラスは,プロパティ値を特定の値の集合に制限します。

Prop1の値は,“黄色”“绿色”または“蓝”でなければなりません。

classdefMyClass属性Prop1{mustBeMember (Prop1{“黄色”、“绿色”、“蓝”})}“黄色”结束结束

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

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

obj = MyClass obj。Prop1 =“红色”
设置“MyClass”类的“Prop1”属性时出错:Value必须是这个集合“yellow”“green”“blue”的成员

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

この関数は2つの入力引数を宣言します。入力nはスカラー数値でなければならず,入力typenameまたはのいずれかの文字ベクトルでなければなりません。

函数r = mbMember (n, typename)参数n(1,1) {mustBeNumeric}typename{mustBeMember (typename{“单一”、“双”})}“单一”结束r =兰德(n, typename);结束

次の関数の呼び出しは,mustBeMemberで定義されている要件を満たさないtypenameの値を使用しており,エラーになります。

r = mbMember (5“int32”);
在位置2使用mbMember时发生错误。Value必须是这个集合的成员:'single' 'double'

入力引数

すべて折りたたむ

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

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

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

データ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|字符|字符串|细胞
複素数のサポート:あり

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

例:字符ベクトルの细胞配列からなるプロパティ:PropName {mustBeMember(PropName,{'yellow','green','blue'})} = 'blue'

例:字符串配列からなるプロパティ:PropName {mustBeMember(PropName,["yellow","green","blue"])} = "blue"

データ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|字符|字符串|细胞
複素数のサポート:あり

ヒント

  • mustBeMemberは,プロパティと関数の引数の検証で使用されるように設計されています。

拡張機能

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

R2017aで導入