【发布时间】:2015-09-29 16:59:12
【问题描述】:
今天我很惊讶地发现
A = {1,2,3}
和
B = {1,2,3,}
都是 MATLAB 中的有效语法。我本来预计第二个语句会产生错误。据我所知,它们产生相同的元胞数组(all([A{:}]==[B{:}]) 返回 true)。
允许使用第二种语法有什么原因吗?这是解析器中的错误吗? A 和 B 真的一样吗?
有趣的是,不允许以下内容:
C = {1,2,3,,,}
【问题讨论】:
-
有趣。
{1,2,4,;;;;4,5,6;;;}也允许 -
@LuisMendo 真正让我感到奇怪的是它最终变成了一个漂亮、紧凑的矩形。似乎那里至少应该有一些空行之类的......
-
B={1,2,3,} 是滥用,但 {1,2,4,;;;;4,5,6;;;} 只是邪恶的
-
但至少 Matlab 让你知道它是 unneccssary ;)
-
@thewaywewalk,我最讨厌的是它警告我
str2num比str2double慢或类似的东西。如果我想要 STR2DOUBLE,我会使用 STR2DOUBLE,你是 IDE 的蹩脚借口!!!
标签: arrays matlab syntax operators cell-array