pascalabcnet/TestSuite/delegates10.pas

23 lines
291 B
ObjectPascal
Raw Normal View History

2018-10-02 23:11:07 +03:00
var i: integer;
function f1: procedure;
begin
Inc(i);
Result := procedure ()->exit;
end;
procedure test(p: procedure);
begin
p();
end;
begin
var p: procedure;
p := f1();
p();
assert(i = 1);
test(f1);
assert(i = 2);
p := f1 <> nil ? f1 : nil;
assert(i = 4);
end.