Main Content

narginchk

验证输入参数数目

说明

示例

narginchk(minArgs,maxArgs) 验证当前执行的函数调用中的输入参数数目。如果调用中指定的输入数目小于 minArgs 或大于 maxArgsnarginchk 将引发错误。如果输入数目在 minArgsmaxArgs 之间(包括二者),则 narginchk 不会执行任何操作。

示例

全部折叠

确认使用最少两个、最多五个输入参数调用函数。

在名为 checkInputs.m 的文件中创建一个函数,该函数使用 narginchk 验证是否使用了有效的输入数目来调用该函数。函数签名指示 checkInputs 需要两个输入参数,并且最多接受三个附加的可选参数。

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

使用一个输入参数调用该函数。

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

使用五个输入参数再次调用该函数。

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

使用六个输入参数再次调用该函数。

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

提示

  • 要验证参数有最小数目限制,但没有最大数目限制,请将 maxArgs 设置为 inf。例如:当输入少于五个时,narginchk(5,inf) 将引发错误。

  • 要验证参数数目为一个确切数,请为 minArgsmaxArgs 指定相同的值。例如:如果输入并非正好三个,narginchk(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 中推出