Оператор присваивания заменяет текущее значение переменной
новым значением, которое определяется выражением, или определяет
выражение, значение которого должно возвращаться функцией.
┌───────────┐ ┌──┐ ┌─────────┐
оператор ─────┬──>│ссылка на ├──────>│:=├──>│выражение├──>
присваивания │ │переменную │ ^ └──┘ └─────────┘
│ └───────────┘ │
│ ┌─────────────┐ │
└──>│идентификатор├─┘
│ функции │
└─────────────┘
Выражение должно быть совместимо по присваиванию с типом пе-
ременной или типом значения, возвращаемого функцией в качестве
результата (см. раздел "Совместимость типов" в Главе 4).
Приведем некоторые примеры операторов присваивания:
X := Y + Z
Done := (I >= 1) and (I < 100);
Huel := [blue, Succ(C)];
I := Sqr(J) - I * K;
Присваивания объектного типа
Правила совместимости по присваиванию объектных типов позво-
ляют присваивать экземпляру объекта экземпляр любого из его до-
черних типов. Такое присваивание представляет собой проекцию
потомка на пространство его предка. В примере исходного кода в
Главе 4 с учетом экземпляра F типа TField и экземпляра Z типа
TZipField присваивание F := Z копирует только поля X, Y, Len и
Name.
Присваивание экземпляру объектного типа не инициализирует
экземпляр. Например, в предыдущем примере присваивание F := Z оз-
начает, что вызов конструктора для F можно опустить.