我正在使用此命令获取 get.tcl 文件并提供“详细”和“即时”选项:
source -verbose -instant get.tcl
上述命令在 tcl 8.4 中对我有效,但在 tcl 8.5 中显示此错误
source (script wrong # args: should be "source_orig ?-encoding name? fileName"
如果我只写
source get.tcl
它在 tcl 8.5 中通过
tcl 8.5有没有和这个相关的变化?
最佳答案
source
命令只接受一个选项(自 8.5 起),-encoding
,用于指定正在读取的文件是什么编码(而不是默认的encoding system
返回的编码猜测)。它所做的只是将文件读入内存并(在内部等效于)eval
内容。
在执行 source
之前,您可以写入任何您想要的变量,包括像 argv
这样的全局变量。有了它(根据需要适当使用 uplevel
和 catch
,也许还有 interp create
),您可以模拟将脚本作为子进程运行.但是,不让文件期望处理那样的参数,而是让它定义一个您在采购后立即调用的命令可能更容易。
关于linux - 我们可以将选项传递给 tcl 8.5 中的 tcl source 命令吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37474938/