这很难查找:最终的逗号在Matlab中做了什么?在我做过的几个小测试中,它们似乎并没有使代码表现出任何不同。我想知道,因为他们在这段代码中已经完全没有写(但必须保持)。
我的意思是:
if nargin<1,
% code
end
if isError,
% code
end
try,
% code
while 1,
% even more code
end
catch,
% code
end
答案 0 :(得分:16)
根据documentation for the comma character in MATLAB,它的一个功能是将一行中的语句分开。如果一行只有一个语句,则不需要逗号。我不喜欢在那里看到它,虽然我知道有些人以这种方式编写代码。
答案 1 :(得分:8)
正如其他人所指出的那样,一行末尾的逗号是不必要的。它们实际上只是用于分隔同一行的语句。 mlint
如果你使用一个而不需要它,编辑甚至会给你一个警告:
>> 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中的分号一样。它分隔命令,因此您可以将多个命令放在一行中用逗号分隔。
编写程序的方式,我相信逗号没有区别。