11.9.1验证参数的数量

在octave中,以下习语经常出现在函数定义的开头:

if (nargin < min_#_inputs || nargin > max_#_inputs)
  print_usage ();
endif

它停止函数执行,并在输入数量错误时打印关于调用函数的正确方式的消息。

类似的错误检查从提供narginchknargoutchk.

 
:narginchk (minargs,maxargs)

检查输入参数的数量是否正确。

如果调用函数中的参数数超出范围,则生成错误消息minargsmaxargs。否则,不要做任何事情。

二者都minargsmaxargs必须是标量数值。零、Inf和负值都是允许的,并且minargsmaxargs可以是相等的。

请注意,此函数计算nargin在呼叫者上。

详见: nargoutchk,error,nargout,nargin.

广告
 
:nargoutchk (minargs,maxargs)
:msgstr= nargoutchk (minargs,maxargs,nargs)
:msgstr= nargoutchk (minargs,maxargs,nargs一串
:msgstruct= nargoutchk (minargs,maxargs,nargs,“struct”)

检查输出参数的数量是否正确。

在第一种形式中,如果参数的数量不在minargsmaxargs。否则,什么也不做。请注意,此函数计算的值nargout调用方,因此其值一定没有被篡改。

二者都minargsmaxargs必须是数字标量。Zero、Inf和negative都是有效的,并且它们可以具有相同的值。

为了向后兼容,如果指定的输出数量无效,其他形式将返回适当的错误消息字符串(或结构体)。

这对于检查提供给函数的输出参数数是否在可接受的范围内非常有用。

详见: narginchk,error,nargout,nargin.

广告

版权所有 © 2024-2025 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-2