引数の検証時の関数 nargin
の使用
関数 nargin
は、現在実行中の関数の呼び出し時に渡された関数入力引数の数を返します。関数の引数の検証を使用する場合、関数内で nargin
から返される値は、関数の呼び出し時に指定された位置引数の数です。
繰り返し引数は位置引数であるため、関数の呼び出し時に渡された繰り返し引数の数は nargin
で返される値に含まれます。
nargin
が返す値には、関数呼び出しに含まれていないオプションの入力引数は含まれません。また、nargin
は名前と値の引数をカウントしません。
関数の呼び出し時にオプションの位置引数が渡されるかどうかを判定するには、nargin
を使用します。たとえば、次の関数は 3 つの位置引数と 1 つの名前と値の引数を宣言します。呼び出しに際して渡される引数を関数がどのように判定するかを以下に示します。
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
参考
nargin
| arguments
| namedargs2cell