home *** CD-ROM | disk | FTP | other *** search
- proc name args body
- The proc command creates a new Tcl command procedure,
- name, replacing any existing command there may have
- been by that name. Whenever the new command is
- invoked, the contents of body will be executed by the
- Tcl interpreter. Args specifies the formal arguments
- to the procedure. It consists of a list, possibly
- empty, each of whose elements specifies one argument.
- Each argument specifier is also a list with either one
- or two fields. If there is only a single field in the
- specifier, then it is the name of the argument; if
- there are two fields, then the first is the argument
- name and the second is its default value. braces and
- backslashes may be used in the usual way to specify
- complex default values.
-
- When name is invoked, a local variable will be created
- for each of the formal arguments to the procedure; its
- value will be the value of corresponding argument in
- the invoking command or the argument's default value.
- Arguments with default values need not be specified in
- a procedure invocation. However, there must be enough
- actual arguments for all the formal arguments that
- don't have defaults, and there must not be any extra
- actual arguments. There is one special case to permit
- procedures with variable numbers of arguments. If the
- last formal argument has the name args, then a call to
- the procedure may contain more actual arguments than
- the procedure has formals. In this case, all of the
- actual arguments starting at the one that would be
- assigned to args are combined into a list (as if the
- list command had been used); this combined value is
- assigned to the local variable args.
-
- When body is being executed, variable names normally
- refer to local variables, which are created
- automatically when referenced and deleted when the
- procedure returns. One local variable is automatically
- created for each of the procedure's arguments. Global
- variables can only be accessed by invoking the global
- command.
-
- The proc command returns the null string. When a
- procedure is invoked, the procedure's return value is
- the value specified in a return command. If the
- procedure doesn't execute an explicit return, then its
- return value is the value of the last command executed
- in the procedure's body. If an error occurs while
- executing the procedure body, then the procedure-as-a-
- whole will return that same error.
-