Higher-order functions: Difference between revisions

Content added Content deleted
(→‎Pointer: Removed syntax highlighting)
(→‎[[JavaScript]]: Added Pascal)
Line 199: Line 199:
var result = first(second);
var result = first(second);
result = first(function() { return "third"; });
result = first(function() { return "third"; });

==[[Pascal]]==
[[Category:Pascal]]
Standard Pascal (will not work with Turbo Pascal):
program example(output);
function first(function f(x: real): real): real;
begin
first := f(1.0) + 2.0;
end;
function second(x: real): real;
begin
second = x/2.0;
end;
begin
writeln(first(second));
end.

Turbo Pascal (will not work with Standard Pascal):

program example;
type
FnType = function(x: real): real;
function first(f: FnType): real;
begin
first := f(1.0) + 2.0;
end;
function second(x: real): real;
begin
second := x/2.0;
end;
begin
writeln(first(second));
end.


==[[Perl]]==
==[[Perl]]==