在 Octave 中,以下惯用写法经常出现在函数定义的开头:
if (nargin < min_#_inputs || nargin > max_#_inputs) print_usage (); endif
这会停止函数执行,并在输入数量错误时打印关于如何正确调用该函数的消息。
类似的错误检查由 narginchk 和 nargoutchk 提供。
(minargs, maxargs) ¶检查输入参数的数量是否正确。
如果调用函数中的参数数量不在 minargs 和 maxargs 范围内,则生成错误信息。否则,不执行任何操作。
minargs 和 maxargs 都必须为标量数值。零、Inf 和负值都是允许的,且 minargs 和 maxargs 可以相等。
请注意,此函数会计算调用者中的 nargin 值。
另请参阅:nargoutchk、error、nargout、nargin。
(minargs, maxargs) ¶msgstr = nargoutchk (minargs, maxargs, nargs) ¶msgstr = nargoutchk (minargs, maxargs, nargs, "string") ¶msgstruct = nargoutchk (minargs, maxargs, nargs, "struct") ¶检查输出参数的数量是否正确。
在第一种形式中,如果参数数量不在 minargs 和 maxargs 之间,则返回错误。否则,不执行任何操作。请注意,此函数会计算调用者中的 nargout 值,因此其值必须未被篡改。
minargs 和 maxargs 都必须为数值标量。零、Inf 和负值都是有效的,且它们可以具有相同的值。
为了向后兼容,如果请求的输出数量无效,其他形式将返回适当的错误消息字符串(或结构体)。
这对于检查提供给函数的输出参数数量是否在可接受的范围内非常有用。
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-4