我想读取myfile.tcl
并遍历它的结构(枚举过程和变量,类似的东西)。
我知道内置interp
命令,但它看起来不会让我遍历它解析的结构,只是评估它。
我试过https://wiki.tcl-lang.org/page/parsetcl但是
a)它失败了can't find package tcl 8.4
,我试过了package require tcl 8
,package require tcl 8.5
但也没有用,所以我把它注释掉了
b)之后它仍然不起作用,下面的测试脚本只是挂起而不产生输出
source "lib/parsetcl.tcl"
proc _load {file_name} {
set fp [open $file_name r]
set file_data [read $fp]
close $fp
return $file_data
}
parsetcl::simple_parse_script [info body _load]
我也试过了parsetcl::format_tree [parsetcl::simple_parse_script [info body _load]] { } { }
,同样的问题。
我正在执行这些tclsh
,在 Ubunut 上apt
认为我已经安装了软件包tcl tcl8.5 tcl8.6
。
为什么这不起作用?