<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
<html>
  <head>
    <title>set</title>
  </head>
  
  <body>
    <h1>set</h1>
    
    <p>Команда читает и записывает значения переменных.</p>
    
    <h2>СИНТАКСИС</h2>
    
    <pre>
      <strong>set</strong> <em>varName</em> <em>value</em>
    </pre>

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

    <p>Команда <strong>set</strong> возвращает значение переменной
      <em>varName</em>. Если задан параметр <em>value</em>, то команда
      присваивает переменной <em>varName</em> значение <em>value</em> и
      возвращает значение <em>value</em>. Если такой переменной не
      существовало, тогда она создается вновь.</p>

    <p>Если <em>varName</em> содержит открывающую скобку и
      заканчивается закрывающей скобкой, тогда это элемент массива.
      Символы до открывающей скобки являются именем массива, символы
      между скобками есть индекс этого элемента в массиве. В
      противном случае команда адресуется к скалярной
      переменной.</p>

    <p>Обычно имя переменной указывается без указания пространства
      имен, в котором она содержится. При этом соответствующая
      переменная для чтения или записи ищется в текущем пространстве
      имен. Если же в имени переменной присутствуют имя пространства
      имен, то она ищется в указанном пространстве имен.</p>

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

  </body>
</html>