Pascal ABC Язык Pascal ABC
Процедурный тип
Переменные, предназначенные для хранения процедур и функций, называются процедурными. Тип процедурной переменной имеет вид:
procedure (список параметров)
или
function (список параметров): тип возвращаемого значения
При этом список параметров вместе с круглыми скобками могут отсутствовать. Например:
type proc=procedure(i:
integer);
var
p1: proc;
p2: procedure;
f1: function: integer;
Процедурной переменной можно присвоить процедуру или функцию с совместимым типом:
procedure my(i: integer);
begin
...
end;
function f: integer;
begin
end;
...
p1:=my;
f1:=f;
После этого можно вызвать процедуру или функцию через эту процедурную переменную, пользуясь обычным синтаксисом вызова:
p1(5);
write(f1);
Обычно процедурные переменные передаются как параметры для реализации обратного вызова:
procedure foreach(var
a: array [1..100] of real; n: integer; p: procedure(var
r: real));
var i: integer;
begin
for i:=1 to n do
p(a[i]);
end;
procedure mult2(var
r: real);
begin
r:=2*r
end;
procedure print(var
r: real);
begin
write(r,' ');
end;
...
foreach(a,10,mult2); // умножение элементов массива на 2
foreach(a,10,print); // вывод элементов массива
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.