Книга: Описание языка PascalABC.NET
Операторы += и -= для процедурных переменных
Операторы += и -= для процедурных переменных
Оператор присваивания += предназначен для присоединения к процедурной переменной процедуры, оператор присваивания -= - для отсоединения. Подпрограммы вызываются в порядке присоединения. Например:
procedure mult2(var r: real);
begin
r := 2 * r;
end;
procedure add3(var r: real);
begin
r := r + 3;
end;
var
p: procedure(var x: real);
r: real;
begin
r := 1;
p := mult2;
p += add3;
p(r); // r := 2 * r; r := r + 3;
p -= mult2;
p(r); // r := r + 3;
end.
Отсоединение не присоединенных подпрограмм не выполняет никаких действий.
Кроме того, к процедурной переменной можно прикреплять/откреплять статические и экземплярные методы классов. Пример см. в теме процедурные переменные.
Операторы += и -= используются также для добавления/удаления обработчиков для событий .NET. Например:
procedure OnTimer1(sender: object; e: System.Timers.ElapsedEventArgs);
begin
write(1);
end;
begin
var Timer1 := new System.Timers.Timer(1000);
Timer1.Elapsed += OnTimer1;
Timer1.Start;
while True do
Sleep(1000);
end.
- Операторы: обзор
- Оператор присваивания
- Составной оператор (блок)
- Пустой оператор
- Условный оператор
- Оператор описания переменной
- Оператор выбора
- Оператор цикла for
- Оператор цикла foreach
- Операторы цикла while и repeat
- Оператор with
- Оператор безусловного перехода goto
- Операторы break, continue и exit
- Оператор try ... except
- Оператор try ... finally
- Оператор raise
- Операторы += и -= для процедурных переменных
- Оператор lock
- Операторы цикла while и repeat
- Арифметические операторы
- Значения переменных по умолчанию
- 1.2.4. Операторы и приоритеты
- Условные операторы
- Поразрядные операторы
- Логические операторы
- Использование переменных документа
- Просмотр переменных
- Пример 5-1. Вывод "причудливых" переменных
- 14.4.2. Хранение переменных окружения в виде массива или хэша
- Листинг 7.4. (print-environment.c) Отображение переменных среды процесса