Main Content

在参量验证期间使用 nargin 函数

nargin 函数针对当前正在执行的函数,返回函数调用中给定函数输入参量的数目。使用函数参量验证时,函数内 nargin 返回的值是调用函数时提供的位置参量的数量。

重复参量是位置参量,因此调用时传递给函数的重复参量的个数将计入 nargin 返回的值。

nargin 返回的值不包括未包含在函数调用中的可选输入参量。此外,nargin 不对任何名称-值参量进行计数。

使用 nargin 确定在调用时是否将可选位置参量传递给函数。例如,此函数声明三个位置参量和一个名称-值参量。函数通过以下方式确定在调用时传递哪些参量。

  • nargin 通过 switch 代码块确定是否将可选位置参量 c 传递给函数。

  • isfield 确定是否将 Format 的名称-值参量传递给函数。

function result = fNargin(a,b,c,namedargs)
    arguments
        a (1,1) double
        b (1,1) double
        c (1,1) double = 1
        namedargs.Format (1,:) char
    end

    % Function code
    switch nargin
        case  2
            result = a + b;
        case 3
            result = a^c + b^c;
    end
    if isfield(namedargs,"Format")
        format(namedargs.Format);
    end
end

在此函数调用中,nargin 的值是 2

result = fNargin(3,4)
result =

     7

在此函数调用中,nargin 的值是 3

result = fNargin(3,4,7.62)
result =

   4.3021e+04

在此函数调用中,nargin 的值是 3:

result = fNargin(3,4,7.62,Format="bank")
result =

      43020.56

另请参阅

| |

相关主题