First-class functions/Use numbers analogously: Difference between revisions

Content added Content deleted
(→‎{{header|TXR}}: New section.)
Line 1,217: Line 1,217:


type
type
TMultipler = reference to function(n: Double): Double;
TMultiplier = reference to function(n: Double): Double;


function GetMultipler(a, b: Double): TMultipler;
function GetMultiplier(a, b: Double): TMultiplier;
var
var
prod: Double;
prod: Double;
Line 1,228: Line 1,228:


var
var
Multiplier: TMultiplier;
Multipler: TMultipler;
I: Integer;
I: Integer;
x, xi, y, yi: Double;
x, xi, y, yi: Double;
Line 1,240: Line 1,240:
Inverses := [xi, yi, 1.0 / (x + y)];
Inverses := [xi, yi, 1.0 / (x + y)];
for I := 0 to High(Numbers) do begin
for I := 0 to High(Numbers) do begin
Multipler := GetMultipler(Numbers[I], Inverses[I]);
Multiplier := GetMultiplier(Numbers[I], Inverses[I]);
WriteLn(Multipler(0.5));
WriteLn(Multiplier(0.5));
end;
end;
end.
end.