11.9.1验证参数的数量

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

如果(nargin<min_#_inputs||nargin>max_#_input)print_usage();endif

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

类似的错误检查从提供纳金奇克nargouchk.

 
:纳金奇克 (尖塔,最大param)

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

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

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

请注意,此函数计算函数输入变量数在呼叫者上。

详见: nargouchk,错误,nargout,函数输入变量数.

 
:nargouchk (尖塔,最大param)
:消息str= nargouchk (尖塔,最大param,nargs)
:消息str= nargouchk (尖塔,最大param,nargs一串
:消息结构体= nargouchk (尖塔,最大param,nargs,“struct”)

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

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

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

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

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

详见: 纳金奇克,错误,nargout,函数输入变量数.


版权所有 © 2024 Octave中文网

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