如何打印tcl进程?

如何打印tcl进程?,tcl,redefinition,proc-object,Tcl,Redefinition,Proc Object,给出了一个简单的tcl过程 proc foo {a b} {puts "$a $b"} 我可以使用什么tcl命令来打印过程foo。。。那就是我想要回程序的文本 例如: % proc foo {a b} {puts "$a $b"} % foo a b a b % puts $foo can't read "foo": no such variable 我怎样才能拿回foo{abb}{put“$aba$b”} % proc foo {a b} {puts "$a $b"} % inf

给出了一个简单的tcl过程

proc foo {a b} {puts "$a $b"}
我可以使用什么tcl命令来打印过程
foo
。。。那就是我想要回程序的文本

例如:

% proc foo {a b} {puts "$a $b"}
% foo a b
  a b

% puts $foo
  can't read "foo": no such variable
我怎样才能拿回
foo{abb}{put“$aba$b”}

% proc foo {a b} {puts "$a $b"} % info body foo puts "$a $b" % info args foo a b %proc foo{a b}{put“$a$b”} %信息体福 放入“$a$b” %信息args foo a b
要了解更多信息,请重新阅读info(n)。

@Henry,如果任何参数都有默认值,则会比这复杂一些:

proc foo {a {b bar}} {
    puts "$a $b"
}

proc info:wholeproc procname {
    set result [list proc $procname]
    set args {}
    foreach arg [info args $procname] {
        if {[info default $procname $arg value]} {
            lappend args [list $arg $value]
        } else {
            lappend args $arg
        }
    }
    lappend result [list $args]
    lappend result [list [info body $procname]]
    return [join $result]
}

info:wholeproc foo
使用TclX的showproc:

package require Tclx
showproc foo