使用括号()
和花括号{}
访问单元格数组中的元素有什么区别?
例如,我尝试使用cell{4} = []
和cell(4) = []
。在第一种情况下,它将4 th 元素设置为[]
,但在第二种情况下,它消灭了单元格元素,即将单元格元素数减少了1。
答案 0 :(得分:62)
将单元数组视为常规同源数组,其元素均为cell
s。括号(()
)只是访问cell
包装器对象,而使用花括号({}
)访问元素时会给出包含在单元格中的实际对象。
例如,
A={ [5,6], 0 , 0 ,0 };
看起来像这样:
使用括号制作元素等于[]
的语法实际上是删除该元素的请求,因此当您要求执行foo(i) = []
时,删除我 - 第一个细胞。它不是赋值操作,而是RemoveElement
操作,它使用类似的语法来赋值。
但是,当您执行foo{i} = []
时,您将为第i个单元格分配一个新值(这是一个空数组),从而清除该单元格的内容。
答案 1 :(得分:3)
请参阅this link中的帮助。正如您将看到的,使用括号()访问,为您提供了一个单元格的子集(即子单元格),而花括号{}为您提供了您尝试访问的单元格的内容。