EnglishРусский  

   Приложение

Реклама

Инсталлятор CreateInstall
Бесплатные и коммерческие инсталляторы

Локальные переменные

Локальные переменные служат для временного хранения промежуточных результатов во время выполнения функции или метода. Локальная переменная может быть объявлена в любом месте тела функции, в том числе и во вложенных блоках ограниченных фигурными скобками. Объявление начинается с новой строки, указывается имя типа, затем через запятую или пробел следуют имена переменных данного типа.

Если тип переменной поддерживает использование of и квадратных скобок, то вы можете указать эти дополнительные параметры при описании локальной переменной. Кроме этого, числовые переменные, а также строки str и двоичные данные buf могут быть инициализированы в момент описания с помощью операции присваивания '='. При инициализации переменных можно использовать любые выражения. По умолчанию, переменная инициализируется нулями или вызовом соответствующей функции инициализации.

func myfunc( uint param, str name )
{
   str a b = "My string" + name, c
   uint i = 25 * param + 3
   uint k = 10, l = 2 
   arr x[ k, l ] of uint
   arrstr months = %{"January", "February", "March", "April", "May",
                     "June", "July", "August", "September", "October",
                     "November", "December" }
   ...
}

Область видимости

Область видимости локальной переменной ограничена от места объявления до конца блока, в котором она объявлена, при этом она видна во вложенных блоках. Глобальные и локальные переменные могут быть переопределены, т.е. внутри нового блока может быть объявлена переменная с именем уже существующей переменной. Новая переменная может иметь другой тип. До конца текущего блока будет доступна только последняя переменная, а объявленная раньше становиться невидимой. После завершения блока происходит возврат к старой переменной. Все объекты описанные как локальные переменные автоматически создаются при входе в блок и уничтожаются при выходе. Можно создавать объекты с помощью служебной функции new. В этом случае программисту надо следить за удалением объектов с помощью функции destroy. Так как, при выходе из функции происходит уничтожение локальных переменных, то вы можете возвращать только числовые локальные переменные.

func myfunc
{
   uint a = 10
   ... // a == 10
   {      
      ... // a == 10
      uint a = 3
      ... // a == 3
      while ... 
      {
         ... // a == 3
      }
      ... // a == 3
   }
   ... // a == 10 
}

Смотрите также

Редактировать