0
我使用ActiveState的TclDevKit調試通過我的代碼,但在程序中,我得到以下錯誤的執行一個角度去看待:的Tcl/Tk - 無法讀取「UserArray」:變量數組
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中一個被允許讀取和寫入的指數在一個數組,我不認爲應該有一個錯誤在這裏......我失去了一些細節?
不幸的是,該代碼似乎在TclDevKit調試器內 –
調試器有一個錯誤? Nooooooooo! (有報道過嗎?) –
我不認爲這是一個錯誤,但調試器樂器文件的方式相當煩人。當用[file dirname [info script]]設置文件路徑時,代碼實際上會返回TclDebugger的路徑名 - 而不是腳本的位置!所以我必須將整個工作環境移動到TclDevKit的bin目錄中才能使調試器工作,hahahaha。 – Grandclosing