Описание переменных
Переменные могут быть описаны в разделе описаний, а также
непосредственно внутри любого блока 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);