检查嵌套函数的参数数量
这个主题特别考虑使用解释道变长度输入宗量
,varargout
,输入参数个数
,nargout
嵌套函数。
变长度输入宗量
和varargout
允许您创建的函数接受变量数量的输入或输出参数。虽然变长度输入宗量
和varargout
看起来像函数名,他们引用变量,而不是功能。这是很重要的,因为嵌套函数共享工作空间的函数包含它们。
如果你不使用变长度输入宗量
或varargout
在一个嵌套函数的声明变长度输入宗量
或varargout
内嵌套函数是指外部函数的参数。
例如,创建一个函数在文件命名showArgs.m
使用变长度输入宗量
有两个嵌套函数,使用变长度输入宗量
和一个不。
函数showArgs(变长度输入宗量)nested1 (3, 4) nested2 (5、6、7)函数nested1 (a, b) disp (“nested1:内容变长度输入宗量的{1})disp(变长度输入宗量{1})结束函数nested2(变长度输入宗量)disp (“nested2:内容变长度输入宗量的{1})disp(变长度输入宗量{1})结束结束
调用的函数和比较的内容变长度输入宗量{1}
两个嵌套的函数。
showArgs (0, 1, 2)
nested1:内容变长度输入宗量{1}0 nested2:内容变长度输入宗量{1}5
另一方面,输入参数个数
和nargout
是功能。在任何函数,包括嵌套的函数调用输入参数个数
或nargout
返回参数的函数的数量。如果一个嵌套函数需要的价值输入参数个数
或nargout
从一个外部函数,通过嵌套函数的值。
例如,创建一个函数在文件命名showNumArgs.m
通过输入参数的数量从主(父)函数嵌套函数。
函数showNumArgs(变长度输入宗量)disp ([的数量输入showNumArgs:“int2str(输入参数个数)]);nestedFx(输入参数个数,2、3、4)函数变长度输入宗量nestedFx (n) disp ([的数量输入nestedFx:“int2str(输入参数个数)]);disp ([“输入其母数量:”,int2str (n)));结束结束
调用showNumArgs
并比较的输出输入参数个数
在父和嵌套函数。
showNumArgs (0, 1)
输入showNumArgs数量:2输入nestedFx数量:4输入其母数量:2