<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
<html>
  <head>
    <title>variable</title>
  </head>

  <body>
    <h1>variable</h1>

    <p>Команда создает и запускает переменные области имен.</p>

    <h2>СИНТАКСИС</h2> 

    <pre>
      <strong>variable</strong> ?<em>name</em> <em>value</em>? <em>name</em> ?<em>value</em>?
    </pre>

    <h2>ОПИСАНИЕ</h2> 

    <p>Обычно команду <strong>variable</strong> выполняют внутри команды <a
      href=namespace.html#eval><strong>namespace eval</strong></a> для
      создания одной или нескольких переменных в области имен.  Каждая
      переменная <em>name</em> получает начальное значение
      <em>value</em>. Значение для последней переменной можно не
      указывать.</p>

    <p>Если переменная <em>name</em> не существует, она будет
      создана. Если указан аргумент <em>value</em>, то переменной
      присвоится его значение. Если аргумент не указан, то новая
      переменная останется неопределенной. Если же переменная уже
      существовала, она сохранит свое значение. Обычно имя создаваемой
      переменной - это простое имя, не содержащее имя пространств
      имен. Соответственно переменная создается в текущем пространстве
      имен. Если имя содержит имена пространств имен, переменная
      создается в указанном пространстве имен.</p>

    <p>Если команда <strong>variable</strong> выполняется внутри Tcl процедуры,
      она создает локальную переменную, связанную с соответствующей
      переменной пространства имен. В этом случае команда
      <strong>variable</strong> напоминает команду <a
      href=global.html><strong>global</strong></a>, которая, однако,
      только связывает локальную переменную с глобальной. Если
      аргумент <em>value</em> задан, то он используется для изменения
      значения соответствующей переменной в пространстве имен. Если
      переменная в пространстве имен не существует, она создается и,
      при необходимости, инициализируется.</p>

    <p>Параметр<em> name</em> не может указывать на элемент массива. В
      команде <strong>variable</strong> можно указать только массив в целом, а
      затем присвоить значения его элементам командами <a
      href=seek.html><strong>set</strong></a> или <a
      href=array.html><strong>array</strong></a>.</p>
  </body>
</html>