Main Content

mustBeInteger

値が整数であることを検証

説明

mustBeInteger(value) は、value に整数値が含まれない場合にエラーをスローします。この関数は、小数部のない数値をテストします。値のデータ型は考慮されません。mustBeInteger は値を返しません。

mustBeInteger は以下の関数を呼び出して、value が整数であるかどうかを判別します。

クラス サポート: すべての数値クラス、logical、および mustBeInteger によって呼び出される関数をオーバーロードする MATLAB® クラス。

この関数は空の値である入力引数を無視します。このため、プロパティ値または関数の引数値が空の場合、エラーはスローされません。

すべて折りたたむ

計算結果が整数値になることを検証します。

A = randi(9)/randi(9);
mustBeInteger(A)
Value must be integer.

2 つのランダムな整数の除算結果に小数部が含まれる場合、mustBeInteger はエラーを発行します。

このクラスは、プロパティ値を整数のみに制限します。

classdef MyClass
   properties
      Prop1 {mustBeInteger}
   end
end

オブジェクトを作成して、プロパティに値を割り当てます。2 つのランダムな整数の除算結果は、整数、または小数部をもつ数値になります。

obj = MyClass;
obj.Prop1 = randi(9)/randi(9);
Error setting property 'Prop1' of class 'MyClass'. Value must be integer.

プロパティに値を割り当てると、MATLAB はプロパティに割り当てた値を使用して mustBeInteger を呼び出します。これら特定のランダムな整数の除算により得られた値が整数ではない場合、mustBeInteger はエラーを発行します。

この関数は、入力引数を小数部のない値に制限します。

function r = mbInteger(A,idx)
    arguments
        A (1,:) {mustBeNumeric}
        idx (1,1) {mustBeInteger}
    end
    r = A(idx).^2;
end

非整数値を指定してこの関数を呼び出すと、mustBeInteger によってエラーがスローされます。2 つのランダムな整数の除算結果は、整数、または小数部をもつ数値になります。

idx = randi(9)/randi(9);
A = rand(1,10);
r = mbInteger(A,idx);
Error using mbInteger (line 4)
 r = mbInteger(A,idx);
                 ^^^
Invalid argument at position 2. Value must be integer.

入力引数

すべて折りたたむ

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

他のデータ型の場合、エラーが発生します。

ヒント

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

拡張機能

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

バージョン履歴

R2017a で導入