[fpc-pascal] Re: Delphi's anonymous functions in Free Pascal

michael.vancanneyt at wisa.be michael.vancanneyt at wisa.be
Tue Oct 25 13:22:03 CEST 2011



On Tue, 25 Oct 2011, Marco van de Voort wrote:

> In our previous episode, tcoq at free.fr said:
>>> it will be more readable (imo)? The example still does not take
>>
>> This seldom happens, but here I fully agree with Florian. ;-) Every
>> example of anonymous methods I have seen so far, can easily be done with
>> OP's procedure variables too.  Maybe anonymous methods were introduced
>> in other languages because they didn't have something like OP's
>> procedure variables. I guess Object Pascal was yet again ahead of
>> everybody else. :)
>
> I hinted on it in earlier procedures, but here a typical anonymous method
> usecase.

[snip]

> -~-------------------------------
>
> Equivalent solution with anon functions:
>
> targethread.queue(
>   procedure(targetobject:ttargetobject;a:integer;b:someobject;c:string)
>              begin
>                targetobject.destinationprocedure(a,b,c);
>              end;
>
> Note how common this looks compared to the original.

One point is that you could do the above with a local (and named) 
procedure as well, and still have all the context. 
At the very least you would not be raping pascal's readability by putting a
complete procedure declaration inside a code block.

I don't know about you, but I have serious trouble reading the above monstrosity.
It looks like you forgot the closing ) for the queue call.

Michael.



More information about the fpc-pascal mailing list