终端逗号在Matlab中做了什么?

时间:2010-02-08 15:40:59

标签: matlab

这很难查找:最终的逗号在Matlab中做了什么?在我做过的几个小测试中,它们似乎并没有使代码表现出任何不同。我想知道,因为他们在这段代码中已经完全没有写(但必须保持)。

我的意思是:

if nargin<1,
    % code
end

if isError,
    % code
end

try,
    % code
    while 1,
        % even more code
    end
catch,
    % code
end

4 个答案:

答案 0 :(得分:16)

根据documentation for the comma character in MATLAB,它的一个功能是将一行中的语句分开。如果一行只有一个语句,则不需要逗号。我不喜欢在那里看到它,虽然我知道有些人以这种方式编写代码。

答案 1 :(得分:8)

正如其他人所指出的那样,一行末尾的逗号是不必要的。它们实际上只是用于分隔同一行的语句。 mlint如果你使用一个而不需要它,编辑甚至会给你一个警告:

enter image description here

>> mlint comma_test.m
L 1 (C 4): Extra comma is unnecessary.

答案 2 :(得分:4)

  

如果您读取紧密编码的m文件(例如,许多内置的MATLAB函数),您将发现写在一行上的if ... end结构的变体。这是一个例子       
如果x <0,则disp('想象');结束
  注意x&lt; 0和disp(...)之间的逗号。显然,逗号告诉MATLAB解释器条件测试已经结束。据我所知,这只是一个声明(OK,声明的一部分)以逗号结尾的地方。这只是真正的信徒毫不犹豫地使用的怪癖之一。

http://web.cecs.pdx.edu/~gerry/MATLAB/programming/basics.html

答案 3 :(得分:1)

我认为matlab中的逗号就像C中的分号一样。它分隔命令,因此您可以将多个命令放在一行中用逗号分隔。

编写程序的方式,我相信逗号没有区别。