文档

在嵌套函数参数检查

本主题介绍了使用特殊的注意事项vararginvarargoutnarginnargout与嵌套函数。

vararginvarargout允许您创建接受的输入或输出参数变量的数字功能。虽然vararginvarargout看起来像函数名,他们引用变量,而不是函数。因为嵌套函数共享包含这些功能的工作空间这是显著。

如果你不使用varargin要么varargout在嵌套函数的声明,则varargin要么varargout嵌套函数内是指外函数的参数。

例如,创建一个名为文件中的函数showArgs.m使用varargin并具有两个嵌套函数,一个使用varargin而一个不。

功能showArgs(varargin)nested1(3,4)nested2(5,6,7)功能nested1(A,B)DISP('nested1:varargin内容{1}')DISP(varargin {1})结束功能nested2(varargin)DISP('nested2:varargin内容{1}')DISP(varargin {1})结束结束

调用函数和比较的内容varargin {1}在两个嵌套功能。

showArgs(0,1,2)
nested1:varargin {1} 0 nested2的内容​​:varargin内容{1} 5

另一方面,narginnargout是功能。在任何一个功能,包括嵌套函数,调用nargin要么nargout返回的参数个数该功能。如果嵌套函数需要的值nargin要么nargout从外函数,传递值到嵌套函数。

例如,创建一个名为文件中的函数showNumArgs.m即通过从主(父)函数输入参数给一个嵌套函数的数量。

功能showNumArgs(varargin)DISP([“的输入,以showNumArgs编号:”,int2str(nargin)]);nestedFx(nargin,2,3,4)功能nestedFx(N,varargin)DISP([“的输入,以nestedFx编号:”,int2str(nargin)]);DISP([“输入到其父编号:”,int2str(N)]);结束结束

呼叫showNumArgs和比较器的输出nargin在父和嵌套函数。

showNumArgs(0,1)
输入数到showNumArgs:2的输入nestedFx数量:输入给它的父数目4:2

也可以看看

|||

是这个主题有帮助吗?