PascalABC.NET

Описание переменных

Переменные могут быть описаны в разделе описаний, а также непосредственно внутри любого блока  begin/end.

Раздел описания переменных начинается с ключевого слова var, после которого следуют элементы описания вида

список имен: тип;

или

имя: тип := выражение;

или

имя: тип = выражение; // для совместимости с Delphi

или

имя := выражение;

Имена в списке перечисляются через запятую. Например:

var
 
a,b,c: integer;
  d: real := 3.7;
  s := 'PascalABC forever';
  al := new List<integer>;

  p1 := 1;

В последних трех случаях тип переменной автоматически определяется по типу правой части.

Переменные могут описываться непосредственно внутри блока. Такие описания называются внутриблочными и представляют собой оператор описания переменной.

Кроме того, переменные-параметры цикла могут описываться в заголовке операторов for и foreach.

Глобальные переменные инициализируются нулевыми значениями. Для локальных переменных это не гарантируется - их надо инициализировать явно.

Совмещение описания переменных и кортежного присваивания

Кортежное присваивание (распаковку кортежа в переменные) можно совмещать с описанием переменных:

var t := (1,2);
(var a, var b) := (1,2);

или

var (a,b) := (1,2);

Распаковка кортежа в переменные часто используется при возвращении функцией кортежа:

function SP(a,b: real) := (a*b,2*(a+b));  
...
var (S,P) := SP(2,3);