在Tcl中初始化一个空数组的正确方法是什么?如何初始化Tcl中的数组?
我有以下代码(简化):
proc parseFile {filename results_array} {
upvar $results_array results
set results(key) $value
}
set r1 {}
parseFile "filename" r1
,我得到的错误:
Error: can't set "results(key)": variable isn't array
如果你确实想强制某些东西是一个数组,我经常这样做,因为它使得代码更具可读性,你可以使用'array set r1 {}',然后r1是一个空数组。 – Jackson 2010-07-28 07:38:03
@Jackson请注意,'array set r1 {}'不会取消设置现有的值。 – 2010-07-28 14:49:47