我可能在这里丢失了一些明显的东西,但也许你可以帮助我。无法在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'。 –