使用大型TCL项目打印出源层次结构
因此,我正在处理一个大型TCL项目,并认为构建一个树视图来查看项目中文件的来源是多么的酷。我修改了源命令以执行以下操作:使用大型TCL项目打印出源层次结构,tcl,Tcl,因此,我正在处理一个大型TCL项目,并认为构建一个树视图来查看项目中文件的来源是多么的酷。我修改了源命令以执行以下操作: rename ::source ::real_source proc ::source args { set file_handle [open "file_source.tcl" a] puts $file_handle $args puts $file_handle $argv0 close $file_handle upleve
rename ::source ::real_source
proc ::source args {
set file_handle [open "file_source.tcl" a]
puts $file_handle $args
puts $file_handle $argv0
close $file_handle
uplevel 1 ::real_source $args
}
它可以工作并保存所有源文件,但我想知道是否有人知道如何确定哪些文件正在调用源命令
我遇到的另一个有趣的问题是,我的新源程序似乎只在某些文件中工作。文件A源文件B和文件B中的所有源文件似乎都正常工作,但下面的任何内容似乎都要回到使用旧的源程序。你知道为什么会这样吗
[info script]
将为您提供调用源代码的文件名
例如:
a、 tcl
b、 tcl
c、 tcl
输出
a.tcl sources b.tcl
in file b
b.tcl sources c.tcl
in file c
不同文件执行“令人惊讶的操作”的问题看起来有点复杂。请就此提出另一个问题。(一个问题中包含太多内容。)
puts "in file b"
source c.tcl
puts "in file c"
a.tcl sources b.tcl
in file b
b.tcl sources c.tcl
in file c