2010-01-15 7 views
4

simple tcl Étant donné proc commeComment imprimer un proc tcl?

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

Quelle commande tcl puis-je utiliser pour imprimer la procédure foo ... c'est que je veux la du proc retour texte ...

Pour par exemple:

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

% puts $foo 
    can't read "foo": no such variable 

comment puis-je foo {a b} {puts "$a $b"} retour?

Répondre

8
 
% proc foo {a b} {puts "$a $b"} 
% info body foo 
puts "$a $b" 
% info args foo 
a b 

Pour plus d'informations, relisez info (n).

6

@Henry, il est un peu plus compliqué que si des arguments ont des valeurs par défaut:

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 
0

de showproc Utiliser TclX:

package require Tclx 
showproc foo 
Questions connexes