忽略返回值语法?

忽略返回值语法?

问题描述:

在Matlab中,tilda符号可用于忽略返回多个参数的函数中的某个参数。但是,当我在Octave中尝试相同的代码时,出现语法错误。忽略返回值语法?

我有两个问题:

  1. 为什么八度不支持呢? (即错误,未来增强,设计决策等)

  2. 什么是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版本一起工作。