我希望看到命令的内容。
请告诉我如何获取命令的内容(映射到相应命令的代码)?
blah::do_something
答案 0 :(得分:2)
一般命令没有有意义的身体。例如,lset
命令在几个C函数上有几种不同的实现;有解释版本,加上处理字节码编译版本的几个版本,以及将源编译为字节码的函数。许多Tcl命令具有这种内部复杂性,但它们的行为与实际使用的实现策略相同。更重要的是,没有尝试提供从Tcl代码可见的命令实现空间的映射;你必须只搜索你感兴趣的版本的Tcl源代码。
程序不同,是命令的特殊子类;在那里我们明确地保留源代码,以便可以使用info body
检索它。
答案 1 :(得分:1)
您可以使用info body
命令获取过程的内容。
% proc add {a b} {
return [expr {$a+$b}]
}
% info body add
return [expr {$a+$b}]
%