Generic swap: Difference between revisions

Content added Content deleted
(→‎{{header|Pascal}}: add example)
Line 838: Line 838:
a=b;
a=b;
b=tmp;</lang>
b=tmp;</lang>

=={{header|Pascal}}==
{{works with|Free_Pascal|2.6.0}}
Standard Pascal does not have generics, but FreePascal has a start:
<lang pascal>program generictest;

{$mode objfpc}

type
generic TSwap<T> = procedure (var a, b: T);

procedure Proc1(var a, b: integer);
var
temp: integer;
begin
temp := a;
a := b;
b := temp;
end;

var
S, T: integer;
SwapInt: specialize TSwap<integer>;

begin
S := 4;
T := 3;
SwapInt := @Proc1;
writeln(S, T:2);
SwapInt(S, T);
writeln(S, T:2);
end.</lang>
Output:
<pre>
4 3
3 4
</pre>


=={{header|Perl}}==
=={{header|Perl}}==