Provided by: manpages-zh_1.5.1-2_all bug

NAME

       proc - 建立一个 Tcl 过程

 SYNOPSIS
       proc name args body
_________________________________________________________________

 DESCRIPTION
       proc      命令建立一个叫做name      的新的      Tcl      过程,替换已-
       叫这个名字的任何现存的命令或过程。          当调用这个新命令的时候,Tcl
       解释器将执行                   body                  的内容。通常,name
       是未限定的(unqualified)(不包括任何包含(这个过程)的名字空间的名字),在当前名字空间中建立这个新过程。如果
       name
       包含任何名字空间限定符(qualifier),则在指定的名字空间中建立这个过程。Args
       指定给这个过程的形式参数。它由一个列表组成,可以为空,它的每个元素指定一个参数。每个参数指定符(specifier)也可以是有一个或两个字段(field)的一个列表。如果在指定符中只有一个单一字段则它是参数的名字;如果有两个字段,则第一个是参数名而第二个是它的缺省值。

       在调用                                                             name
       时,为过程的每个形式参数建立一个局部变量;它的值将是在调用命令中相应的(实际)参数的值或这个参数的缺省值。在过程调用中可以不指定有缺省值的参数。但是,必须有足够的实际参数给所有没有缺省值的形式参数,并且没有多余的实际参数。有一种特殊情况可以允许过程有可变数目的参数。如果最后的形式参数的名字是
       args,则到这个过程的一个调用包含的实际参数可以多于过程拥有的形式参数。此时,把开始于应当被赋给
       args     的那个实际参数的所有实际参数组合成一个列表(有如使用了     list
       命令);把这个组合后的值赋给局部变量 args。

       在执行                                                             body
       的时候,变量名一般引用局部变量,在被引用时自动建立它们,在过程退出时(自动)删除它们。为过程的每个参数自动的建立一个局部变量。只能通过调用
       global 命令或 upvar  命令来访问全局变量。只能通过调用  variable  命令或
       upvar  命令来访问名字空间变量。

       proc        命令返回一个空串。在调用一个过程的时候,在一个       return
       命令中指定这个过程的返回值。如果过程不执行一个显式的return
       命令,则它的返回值是在过程体中执行的最后一条命令的值。如果在执行过程体期间发生了一个错误,则作为一个整体的过程将返回相同的错误。

 SEE ALSO
       info(n), unknown(n)

 KEYWORDS
       argument, procedure

[[2001/10/17

 Linux man:
       http://cmpp.linuxforum.net