忽略返回值语法?
问题描述:
在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);
通知你,我用八度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无论如何都是用作存储桶的东西。
答
该功能介绍来自Octave 3.4。所以代码应该能够与当前的Octave版本一起工作。