Main Content

mustBeA

値が指定したクラスのいずれかで取得された値であることを検証

R2020b 以降

    説明

    mustBeA(value,classNames) は、valueclassNames のクラス名リストと比較し、value のクラスが名前付きクラスのいずれでもない場合、または名前付きクラスのいずれかのサブクラスでない場合に、エラーをスローします。この関数は値を返しません。

    クラス サポート: すべての MATLAB® クラス

    すべて折りたたむ

    値がスカラー、あるいは string 型または uint8 型の配列であることを検証します。

    a = 'red';
    mustBeA(a,["string","uint8"])
    Value must be of the following types: 'string' or 'uint8'.

    mustBeA によってテキスト値が string のみに制限されているため、文字ベクトルを渡すことは無効です。

    b = [1 0 0];
    mustBeA(b,["string","uint8"])
    Value must be of the following types: 'string' or 'uint8'.

    mustBeA によって数値が uint8 のみに制限されているため、double の整数の配列を渡すことは無効です。

    サブクラスはスーパークラスとの "isa" 関係を満たします。そのため、指定されたいずれかのクラスのサブクラスである値は有効です。

    uint8 のサブクラスを定義します。

    classdef ColorSpec < uint8
        methods
            function obj = ColorSpec(c)
                if nargin == 0
                    c = uint8(0);
                end
                obj = obj@uint8(c);
            end
        end
    end
    

    ColorSpec クラスのオブジェクトを作成します。

    a = ColorSpec([1 0 0])
    a = 
    
      1×3 ColorSpec:
    
      uint8 data:
       1   0   0

    ColorSpec オブジェクトには uint8 データが含まれています。

    mustBeA を使用して ColorSpec オブジェクトの有効性をテストします。次のステートメントではエラーが発生しません。

    mustBeA(a,["string","uint8"])

    入力引数

    すべて折りたたむ

    検証する値。スカラー、または MATLAB の任意の型またはユーザー定義型の配列として指定します。

    1 つ以上のクラスの名前。string または文字ベクトルとして指定します。

    例: ["double", "single"]

    ヒント

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

    拡張機能

    スレッドベースの環境
    MATLAB® の backgroundPool を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool を使用してコードを高速化します。

    バージョン履歴

    R2020b で導入