Skip to content

variable

Declare and initialize namespace variables.

Syntax

tcl
variable ?name value ...? name ?value?

Parameters

  • name: Variable name (simple or namespace-qualified)
  • value: Optional initial value for the preceding name

Description

Creates a variable in the current namespace and links a local reference to it. If called inside a procedure within a namespace, creates both the namespace variable and a local alias.

When name is a simple name (not qualified with ::), the variable is created in the current namespace. When name is a fully-qualified name (e.g., ::other::varname), variable creates a local link to that variable in the specified namespace, enabling cross-namespace access. The parent namespace must already exist; otherwise an error is raised.

Examples

Declaring namespace variables

Output

Multiple variables at once

Output

Variable without initial value

Output

Cross-namespace access with qualified names

Output

See Also

  • global - Access global variables
  • namespace - Create and manipulate namespaces
  • upvar - Reference variables in other frames