登录论坛

查看完整版本 : 忽略返回值语法?


poster
2019-12-14, 20:13
在Matlab中,可使用tilda符号忽略返回多个参数的函数中的某个参数。但是,当我在Octave中尝试相同的代码时,出现语法错误。

我有两个问题:


为什么八度不支持此功能? (即错误,将来的增强,设计决策等)

如果有的话,Octave中的替代语法是什么(不只是将“虚拟变量”放在现场,然后清除该变量)?此外,这种替代语法与Matlab是否兼容?

% this is valid Matlab code, but will result in a syntax error in Octave [colA, colB, ~, colC] = textread('data.txt', '%d %d %s %d', 1); Fyi,我正在使用带有某些Octave Forge软件包的Windows编译的Octave 3.2.4。



回答:

该语法是在最新版本之一中引入的。因此,没有期望Octave会匹配该功能。

您的替代方法是有效地以某种形式引入虚拟变量。以下是〜成为选项之前使用的常见选择。

[colA, colB, colC, colC] = textread('data.txt', '%d %d %s %d', 1); [colA, colB, ans, colC] = textread('data.txt', '%d %d %s %d', 1); 我喜欢后者,因为ans无论如何都是matlab所用。



更多&回答... (https://stackoverflow.com/questions/5177229)