我正在使用 ActiveState 的 TclDevKit 调试器来查看我的代码,但在执行程序的某一时刻,我收到以下错误:
can't read "UserArray": variable is array
while executing
"set UserArray"
("uplevel" body line 1)
invoked from within
"DbgNub_uplevelCmd DbgNub_uplevelCmd $args"
invoked from within
"uplevel 1 [list set $name]"
(procedure "DbgNub_TraceVar" line 53)
invoked from within
"DbgNub_TraceVar 1 array UserArray time1_satOTRS1,2 w"
(write trace on "UserArray(time1_satOTRS1,2)")
invoked from within
"set UserArray($item,$window) $profile_array($item)"
这个错误完全让我感到困惑,因为据我了解 Tcl/Tk,我所做的是完全有效和合法的。代码如下:
foreach item [array names profile_array] {
set UserArray($item,$window) $profile_array($item)
}
在 Tcl 中,允许读取和写入数组中的索引,我认为这里不应该有错误......我错过了一些细节吗?