diff options
Diffstat (limited to 'doc/variable.n')
-rw-r--r-- | doc/variable.n | 48 |
1 files changed, 41 insertions, 7 deletions
diff --git a/doc/variable.n b/doc/variable.n index 9ef4738..7d58a02 100644 --- a/doc/variable.n +++ b/doc/variable.n @@ -5,18 +5,17 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" RCS: @(#) $Id: variable.n,v 1.4 2000/11/21 15:56:21 dkf Exp $ -'\" -.so man.macros .TH variable n 8.0 Tcl "Tcl Built-In Commands" +.so man.macros .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? +\fBvariable \fR\fIname\fR +.sp +\fBvariable \fR?\fIname value...\fR? .BE - .SH DESCRIPTION .PP This command is normally used within a @@ -43,7 +42,7 @@ command, but not to the \fBinfo exists\fR command. If the \fBvariable\fR command is executed inside a Tcl procedure, it creates local variables linked to the corresponding namespace variables (and therefore these -variables are listed by \fBinfo locals\fR.) +variables are listed by \fBinfo vars\fR.) 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. @@ -58,9 +57,44 @@ 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. +.SH EXAMPLES +.PP +Create a variable in a namespace: +.PP +.CS +namespace eval foo { + \fBvariable\fR bar 12345 +} +.CE +.PP +Create an array in a namespace: +.PP +.CS +namespace eval someNS { + \fBvariable\fR someAry + array set someAry { + someName someValue + otherName otherValue + } +} +.CE +.PP +Access variables in namespaces from a procedure: +.PP +.CS +namespace eval foo { + proc spong {} { + # Variable in this namespace + \fBvariable\fR bar + puts "bar is $bar" + # Variable in another namespace + \fBvariable\fR ::someNS::someAry + parray someAry + } +} +.CE .SH "SEE ALSO" global(n), namespace(n), upvar(n) - .SH KEYWORDS global, namespace, procedure, variable |