The
info
command includes a set of subcommands that will provide all the info you could want about a proc. These subcommands will return the body of a proc, the arguments to the proc, and the value of any default arguments.These subcommands can be used to:
- Access the contents of a proc in a debugger.
- Generate custom procs from a template.
- Report default values while prompting for input.
Info commands that return information about a proc
info
args
procname
- Returns a list of the names of the arguments to the procedure
procname
. info
body
procname
- Returns the body of the procedure
procname
. info
default
procname arg varName
- Returns 1 if the argument
arg
in procedureprocName
has a default, and setsvarName
to the default. Otherwise, returns 0.
Example
proc demo {argument1 {default "DefaultValue"} } {
puts "This is a demo proc. It is being called with $argument1 and $default"
#
# We can use [info level] to find out if a value was given for
nfo level [info level]]"
}
puts "The arg
# the optional argument "default" ...
#
puts "Actual call: [
is for demo are: [info args demo]\n"
puts "The body for demo is: [info body demo]\n"
faultval]} {
puts "$
set arglist [info args demo]
foreach arg $arglist {
if {[info default demo $arg d
earg has a default value of $defaultval"
} else {
puts "$arg has no default"
}
}
0 Comment:
Post a Comment