Main Content

narginchk

有効な入力引数の数のチェック

説明

narginchk(minArgs,maxArgs) は、現在実行されている関数の呼び出しにおける入力引数の数を検証します。narginchk は、呼び出しで指定された入力の数が minArgs より少ない場合、または maxArgs より多い場合にエラーをスローします。入力数が minArgsmaxArgs の間 (端点を含む) であれば、narginchk は何も行いません。

すべて折りたたむ

最小で 2 つ、最大で 5 つの入力引数を使用して関数が呼び出されていることを検証します。

checkInputs.m という名前のファイルに、呼び出しに有効な数の入力が使用されているかどうかを narginchk を使用して検証する関数を作成します。関数シグネチャは、checkInputs が 2 つの入力引数を必要としていて、追加のオプション引数も最大 3 つまで受け取れることを示しています。

function checkInputs(A,B,varargin)
    minArgs=2;
    maxArgs=5;
    narginchk(minArgs,maxArgs)
    
    fprintf('Received 2 required and %d optional inputs\n', length(varargin))
end

1 つの入力引数を使用してこの関数を呼び出します。

checkInputs(13)
Error using checkInputs (line 4)
Not enough input arguments.

5 つの入力引数を使用して再度この関数を呼び出します。

checkInputs(13,7,42,1701,5)
Received 2 required and 3 optional inputs

6 つの入力引数を使用して再度この関数を呼び出します。

checkInputs(13,7,42,1701,5,88)
Error using checkInputs (line 4)
Too many input arguments.

入力引数

すべて折りたたむ

受け取れる入力の最小数。スカラーとして指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

受け取れる入力の最大数。スカラーとして指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

ヒント

  • 引数の最小数が指定され、最大数が指定されていないことを確認するには、maxArgsinf に設定します。たとえば、narginchk(5,inf) は、入力が 5 つ未満の場合にエラーをスローします。

  • 正確な数の引数があることを確認するには、minArgsmaxArgs に同じ値を指定します。たとえば、narginchk(3,3) は、厳密に 3 つの入力がないとエラーをスローします。

    少なすぎる入力を使用して関数を呼び出すと、メッセージ識別子とメッセージは以下のようになります。

        identifier: 'MATLAB:narginchk:notEnoughInputs'
           message: 'Not enough input arguments.'
    

    与えられた入力数が多すぎる場合、メッセージ識別子とメッセージは以下のようになります。

        identifier: 'MATLAB:narginchk:tooManyInputs'
           message: 'Too many input arguments.'
    

  • minArgs が 0 で maxArgsnargin(fun) の場合、narginchk を使用する必要はありません。

拡張機能

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

バージョン履歴

R2011b で導入