summaryrefslogtreecommitdiffstats
path: root/tcl8.6/doc/proc.n
diff options
context:
space:
mode:
Diffstat (limited to 'tcl8.6/doc/proc.n')
-rw-r--r--tcl8.6/doc/proc.n128
1 files changed, 0 insertions, 128 deletions
diff --git a/tcl8.6/doc/proc.n b/tcl8.6/doc/proc.n
deleted file mode 100644
index fdccaca..0000000
--- a/tcl8.6/doc/proc.n
+++ /dev/null
@@ -1,128 +0,0 @@
-'\"
-'\" Copyright (c) 1993 The Regents of the University of California.
-'\" Copyright (c) 1994-1996 Sun Microsystems, Inc.
-'\"
-'\" See the file "license.terms" for information on usage and redistribution
-'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-'\"
-.TH proc n "" Tcl "Tcl Built-In Commands"
-.so man.macros
-.BS
-'\" Note: do not modify the .SH NAME line immediately below!
-.SH NAME
-proc \- Create a Tcl procedure
-.SH SYNOPSIS
-\fBproc \fIname args body\fR
-.BE
-.SH DESCRIPTION
-.PP
-The \fBproc\fR command creates a new Tcl procedure named
-\fIname\fR, replacing
-any existing command or procedure there may have been by that name.
-Whenever the new command is invoked, the contents of \fIbody\fR will
-be executed by the Tcl interpreter.
-Normally, \fIname\fR is unqualified
-(does not include the names of any containing namespaces),
-and the new procedure is created in the current namespace.
-If \fIname\fR includes any namespace qualifiers,
-the procedure is created in the specified namespace.
-\fIArgs\fR 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.
-Arguments with default values that are followed by non-defaulted
-arguments become required arguments; enough actual arguments must be
-supplied to allow all arguments up to and including the last required
-formal argument.
-.PP
-When \fIname\fR 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.
-Actual arguments are assigned to formal arguments strictly in order.
-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 do not have defaults, and there must not be any extra
-actual arguments.
-Arguments with default values that are followed by non-defaulted
-arguments become de-facto required arguments, though this may change
-in a future version of Tcl; portable code should ensure that all
-optional arguments come after all required arguments.
-.PP
-There is one special case to permit procedures with
-variable numbers of arguments. If the last formal argument has the name
-.QW \fBargs\fR ,
-then a call to the procedure may contain more actual arguments
-than the procedure has formal arguments. In this case, all of the actual arguments
-starting at the one that would be assigned to \fBargs\fR are combined into
-a list (as if the \fBlist\fR command had been used); this combined value
-is assigned to the local variable \fBargs\fR.
-.PP
-When \fIbody\fR 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.
-Other variables can only be accessed by invoking one of the \fBglobal\fR,
-\fBvariable\fR, \fBupvar\fR or \fBnamespace upvar\fR commands.
-The current namespace when \fIbody\fR is executed will be the
-namespace that the procedure's name exists in, which will be the
-namespace that it was created in unless it has been changed with
-\fBrename\fR.
-'\" We may change this! It makes [variable] unstable when renamed and is
-'\" frankly pretty crazy, but doing it right is harder than it looks.
-.PP
-The \fBproc\fR command returns an empty string. When a procedure is
-invoked, the procedure's return value is the value specified in a
-\fBreturn\fR command. If the procedure does not execute an explicit
-\fBreturn\fR, 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.
-.SH EXAMPLES
-.PP
-This is a procedure that takes two arguments and prints both their sum
-and their product. It also returns the string
-.QW OK
-to the caller as an explicit result.
-.PP
-.CS
-\fBproc\fR printSumProduct {x y} {
- set sum [expr {$x + $y}]
- set prod [expr {$x * $y}]
- puts "sum is $sum, product is $prod"
- return "OK"
-}
-.CE
-.PP
-This is a procedure that accepts arbitrarily many arguments and prints
-them out, one by one.
-.PP
-.CS
-\fBproc\fR printArguments args {
- foreach arg $args {
- puts $arg
- }
-}
-.CE
-.PP
-This procedure is a bit like the \fBincr\fR command, except it
-multiplies the contents of the named variable by the value, which
-defaults to \fB2\fR:
-.PP
-.CS
-\fBproc\fR mult {varName {multiplier 2}} {
- upvar 1 $varName var
- set var [expr {$var * $multiplier}]
-}
-.CE
-.SH "SEE ALSO"
-info(n), unknown(n)
-.SH KEYWORDS
-argument, procedure
-'\" Local Variables:
-'\" mode: nroff
-'\" End: