diff options
Diffstat (limited to 'contrib/tcl/doc/variable.n')
-rw-r--r-- | contrib/tcl/doc/variable.n | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/contrib/tcl/doc/variable.n b/contrib/tcl/doc/variable.n new file mode 100644 index 000000000000..1475d47b5976 --- /dev/null +++ b/contrib/tcl/doc/variable.n @@ -0,0 +1,67 @@ +'\" +'\" Copyright (c) 1993-1997 Bell Labs Innovations for Lucent Technologies +'\" Copyright (c) 1997 Sun Microsystems, Inc. +'\" +'\" See the file "license.terms" for information on usage and redistribution +'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. +'\" +'\" SCCS: @(#) variable.n 1.2 97/05/18 15:20:28 +'\" +.so man.macros +.TH variable n 8.0 Tcl "Tcl Built-In Commands" +.BS +'\" Note: do not modify the .SH NAME line immediately below! +.SH NAME +variable \- create and initialize a namespace variable +.SH SYNOPSIS +\fBvariable \fR?\fIname value...\fR? \fIname \fR?\fIvalue\fR? +.BE + +.SH DESCRIPTION +.PP +This command is normally used within a +\fBnamespace eval\fR command to create one or more variables +within a namespace. +Each variable \fIname\fR is initialized with \fIvalue\fR. +The \fIvalue\fR for the last variable is optional. +.PP +If a variable \fIname\fR does not exist, +it is created and given the optional \fIvalue\fR. +If it already exists, it is simply set to the optional \fIvalue\fR. +Normally, \fIname\fR is unqualified +(does not include the names of any containing namespaces), +and the variable is created in the current namespace. +If \fIname\fR includes any namespace qualifiers, +the variable is created in the specified namespace. +.PP +If the \fBvariable\fR command is executed inside a Tcl procedure, +it creates local variables +linked to the corresponding namespace variables. +In this way the \fBvariable\fR command resembles the \fBglobal\fR command, +although the \fBglobal\fR command +only links to variables in the global namespace. +If any \fIvalue\fRs are given, +they are used to modify the values of the associated namespace variables. +If a namespace variable does not exist, +it is created and optionally initialized. +.PP +A \fIname\fR argument cannot reference an element within an array. +Instead, \fIname\fR should reference the entire array, +and the initialization \fIvalue\fR should be left off. +After the variable has been declared, +elements within the array can be set using ordinary +\fBset\fR or \fBarray\fR commands. +.PP +It is generally best to provide a \fIvalue\fR to initialize each variable, +or to initialize it immediately after the \fBvariable\fR command. +This is because a namespace variable declared by a \fBvariable\fR command +is not actually created until it is given a value. +A declared but not yet initialized namespace variable +will not appear in the output of an \fBinfo vars\fR command, +for example. + +.SH "SEE ALSO" +global(n), namespace(n) + +.SH KEYWORDS +global, namespace, procedure, variable |