我可能在這裏丟失了一些明顯的東西,但也許你可以幫助我。無法在TCL中調用proc無效的命令名稱
我有一個tcl腳本。這是全部:
puts [encodeSDR 25]
proc encodeSDR {input} {
set sdr "test"
return $sdr
}
當我運行該腳本,我得到一個錯誤:
c:\temp>tclsh testenviro.tcl
invalid command name "encodeSDR"
while executing
"encodeSDR"
invoke from within
"puts [encodeSDR 25]"
(file "testenviro.tcl" line 1)
我缺少什麼?似乎這應該完美。
PS。發現可能的原因:
有當我把放稱它爲工作的PROC下面 - 因此它不是第一次加載整個腳本?似乎很奇怪,如果是這樣的話,但也許就是這樣。
程序中的代碼可以是字節碼編譯的,但「全局」級別的代碼仍然可以解釋。意識到'proc'只是一個常規命令,結果並不令人驚訝。我經常把所有「全局」代碼放在一個'main'進程中,然後唯一的「全局」命令就是調用'main'。 –