Main Content

nargchk

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

nargchk は推奨されません。代わりに narginchk を使用してください。

説明

msgText = nargchk(minArgs,maxArgs,numArgs) は入力引数の数を検証し、入力の数 numArgsminArgs より少ないか maxArgs より多い場合にメッセージを返します。

この構文は、msgText = nargchk(minArgs,maxArgs,numArgs,'string') と同じです。

msgStruct = nargchk(minArgs,maxArgs,numArgs,'struct') は、文字ベクトルの代わりにメッセージ構造体を返します。

すべて折りたたむ

checkInputs という名前のファイルに、呼び出しに有効な数の入力が使用されているかどうかを nargchk を使用して検証する関数を作成します。

function checkInputs(varargin)
    msgTxt = nargchk(2,3,nargin)
end

関数 checkInputs を有効な数の入力を指定して呼び出します。nargchk は空の文字ベクトルを返します。

checkInputs(13,7)
msgTxt =

     []

関数 checkInputs を呼び出す入力が少なすぎます。

checkInputs(42)
msgTxt =

    'Not enough input arguments.'

関数 checkInputs を呼び出す入力が多すぎます。

checkInputs(0,1,1,2,3)
msgTxt =

    'Too many input arguments.'

checkInputs という名前のファイルに、呼び出しに有効な数の入力が使用されているかどうかを nargchk および 'struct' パラメーターを使用して検証する関数を作成します。

function checkInputs(varargin)
    msgStruct = nargchk(2,3,nargin,'struct');
    error(msgStruct)
end

コマンド プロンプトで、受け入れられる数の入力を使用して関数 checkInputs を呼び出します。nargchk はエラーをスローしません。

checkInputs(13,7)

関数 checkInputs を呼び出す入力が少なすぎます。

checkInputs(42)
Error using checkInputs (line 3)
Not enough input arguments.

関数 checkInputs を呼び出す入力が多すぎます。

checkInputs(0,1,1,2,3)
Error using checkInputs (line 3)
Too many input arguments.

入力引数

すべて折りたたむ

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

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

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

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

関数の入力の数。スカラーとして指定します。一般的に、関数の呼び出しで指定されている入力引数の数を確認するには、関数 nargin を使用します。

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

出力引数

すべて折りたたむ

メッセージ テキスト。'Not enough input arguments.''Too many input arguments.'、または空の行列として返されます。

numArgsminArgs より小さい場合、nargchk は文字ベクトル 'Not enough input arguments.' を返します。numArgsmaxArgs より大きい場合、nargchk は文字ベクトル 'Too many input arguments.' を返します。それ以外の場合、nargchk は空の行列を返します。

メッセージと識別子。message および identifier フィールドをもつ構造体として返されます。numArgsminArgs より小さい場合、nargchk は次の構造体を返します。

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

numArgsmaxArgs より大きい場合、nargchk は次の構造体を返します。

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

それ以外の場合、nargchk は空の構造体を返します。

ヒント

  • 関数 nargchk は、関数 error と共によく使用されます。関数 error は、関数 nargchk からの戻り値をいずれの型 (メッセージ文字ベクトルまたはメッセージ構造体) でも受け入れます。たとえば、次のコマンドは nargchk からの出力メッセージ構造体を関数 error への入力として使用します。

    error(nargchk(2,4,nargin,'struct'))

    入力引数の数が想定範囲内であれば、nargchk は空の文字ベクトルまたは構造体を返します。関数 error が空の文字ベクトルまたは構造体を受け取った場合、エラーはスローされません。

拡張機能

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

バージョン履歴

R2006a より前に導入