proc的参数
可以proc传递固定数量的参数,也可以传递数量的可变的参数传递给proc,传递给proc的参数,可以设值默认值,如需要将传递的参数a 设置默认值为12,参数与默认值一起放在大括号里即可如 {a 12}。下面举一个将三个参数传递给proc的例子:
proc justdoit {a {b 1} {c -1}} {
...
}
在上面的例子中,一共传递三个参数给justdoit里,其中参数a没有设置默认值,参数b的默认值为1,参数c的默认值为-1。
你可以用三种方法调用过程:justdoit 10,它将a设置为10,b设置为默认值1,c设置为-1。justdoit 10 20同样会将b设置为20,并保留c的默认值。或者通过设置所有三个参数来调用它,以避免任何默认值。
如果最后声明的参数是单词args,proc将接受可变数量的参数。如果proc参数列表的最后一个参数是args,那么任何尚未分配给前一个变量的参数都将被分配给args。
example1
proc show_a_list {args} {
set n 0
foreach arg $args {
puts "Argument $n: $arg"
incr n
}
}
show_a_list A B C D
puts ""
show_a_list E F
results in:
Argume