我尝试运行以下 Tcl 脚本并收到错误:
wrong # args: should be "set varName ?newValue?"
这是什么意思?
注意:该脚本包含特定于 VMD 程序的术语
set dir plugins/noarch/tcl/vmdICE1.0 source $dir pkgIndex.tcl vmd_install_extension vmdICE xrmsdgui_tk_cb "Analysis/vmdICE"
Tcl 真的很关心换行符。它将它们视为许多其他语言将分号视为命令终止符。(如果你愿意,你也可以在 Tcl 中使用分号,但这并不常见。)
因此,您的脚本:
set dir plugins/noarch/tcl/vmdICE1.0 source $dir pkgIndex.tcl vmd_install_extension vmdICE xrmsdgui_tk_cb "Analysis/vmdICE"
是无可救药的错误。这是一个命令调用,set
参数太多。如果我们在最有可能的地方添加换行符,我们会得到:
set dir plugins/noarch/tcl/vmdICE1.0
source $dir pkgIndex.tcl
vmd_install_extension vmdICE
xrmsdgui_tk_cb "Analysis/vmdICE"
现在这仍然是错误的,但它更接近正确。修复的最后一个关键位是使文件名source
更正:
set dir plugins/noarch/tcl/vmdICE1.0
source $dir/pkgIndex.tcl
vmd_install_extension vmdICE
xrmsdgui_tk_cb "Analysis/vmdICE"
我不知道这是否对你有用,但至少在我看来它是理智的。