37 lines
561 B
Plaintext
37 lines
561 B
Plaintext
program AnonCompose;
|
|
|
|
{$APPTYPE CONSOLE}
|
|
|
|
type
|
|
TFunc = reference to function(Value: Integer): Integer;
|
|
|
|
function Compose(F, G: TFunc): TFunc;
|
|
begin
|
|
Result:= function(Value: Integer): Integer
|
|
begin
|
|
Result:= F(G(Value));
|
|
end
|
|
end;
|
|
|
|
var
|
|
Func1, Func2, Func3: TFunc;
|
|
|
|
begin
|
|
Func1:=
|
|
function(Value: Integer): Integer
|
|
begin
|
|
Result:= Value * 2;
|
|
end;
|
|
|
|
Func2:=
|
|
function(Value: Integer): Integer
|
|
begin
|
|
Result:= Value * 3;
|
|
end;
|
|
|
|
Func3:= Compose(Func1, Func2);
|
|
|
|
Writeln(Func3(6)); // 36 = 6 * 3 * 2
|
|
Readln;
|
|
end.
|