関数の引数の数の確認
この例では、nargin
と nargout
を使用して、関数が受け取る入出力引数の数を判定する方法を示します。
入力引数
addme.m
というファイルに、最大で 2 つの入力を受け入れる関数を作成します。nargin
を使って入力の数を特定します。
function c = addme(a,b) switch nargin case 2 c = a + b; case 1 c = a + a; otherwise c = 0; end
1、2 または 0 個の入力引数を指定して addme
を呼び出します。
addme(42)
ans = 84
addme(2,4000)
ans = 4002
addme
ans = 0
出力引数
addme2.m
というファイルに、1 つまたは 2 つの出力 (結果とその絶対値) を返すことのできる新たな関数を作成します。nargout
を使って要求される出力の数を特定します。
function [result,absResult] = addme2(a,b) switch nargin case 2 result = a + b; case 1 result = a + a; otherwise result = 0; end if nargout > 1 absResult = abs(result); end
1 つまたは 2 つの出力引数を指定して addme2
を呼び出します。
value = addme2(11,-22)
value = -11
[value,absValue] = addme2(11,-22)
value = -11 absValue = 11
関数は、関数定義で宣言されている順序で出力を返します。
参考
nargin
| narginchk
| nargout
| nargoutchk