[fpc-pascal] alias a function + overload 'in'
David Emerson
dle3ab at angelbase.com
Mon Dec 19 01:05:24 CET 2011
Thank you, Tomas, those are all excellent suggestions! I am glad I asked.
On Sun 18 Dec 2011, Tomas Hajny wrote:
> On 17 Dec 11, at 21:07, David Emerson wrote:
>
> > two little questions
> >
> > 1. Is it possible to make an alias to a function ... so rather than just
> > re-calling with the same parameters, it's actually the same thing? like the
way
> > we can do, e.g., type natural = cardinal, or const GG = 6, but with a
function?
> .
> .
>
> There are multiple solutions possible:
>
> 1) Making the functions public and creating the aliases as external:
>
> procedure X; public name 'X';
> begin
> WriteLn (1);
> end;
>
> procedure Y; external name 'X';
>
> begin
> X;
> Y;
> end.
>
>
> 2) Using procedural variables / constants:
>
> type
> TProc = procedure;
>
> procedure X;
> begin
> WriteLn (1);
> end;
>
> const
> Y: TProc = @X;
>
> begin
> X;
> Y;
> end.
>
>
> 3) Using inlining:
>
> procedure X;
> begin
> WriteLn (1);
> end;
>
> procedure Y; inline;
> begin
> X;
> end;
>
> begin
> X;
> Y;
> end.
>
> Tomas
>
> _______________________________________________
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>
More information about the fpc-pascal
mailing list