在形式参数列表中,可以使用伪占位符~
而不是一个名字。这表示应忽略相应的参数值,而不是将其存储到任何变量中。
function val = pick2nd (~, arg2) val = arg2; endfunction
的值nargin
不受使用此语句的影响。
使用相同的语法也可以忽略返回参数。例如,排序函数返回排序后的值和原始输入的索引向量,这将导致排序后的输出。忽略第二个输出很简单——不要指定多个输出。但是忽略第一个输出,只计算第二个输出,需要使用~
占位符。
x = [2, 3, 1]; [s, i] = sort (x) ⇒ s = 1 2 3 i = 3 1 2 [~, i] = sort (x) ⇒ i = 3 1 2
使用时~
占位符,逗号——而不是空白——必须用于分隔输出参数。否则,解释器将查看~
作为逻辑而非运算符。
[~ i] = sort (x) parse error: invalid left hand side of assignment
函数可以利用被忽略的输出来减少执行的计算次数。要执行此操作,请使用isargout
函数来查询是否需要输出参数。例如
function [out1, out2] = long_function (x, y, z) if (isargout (1)) ## Long calculation ... out1 = result; endif ... endfunction
版权所有 © 2024-2025 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2