[fpc-pascal] named parameter
Bernd Oppolzer
bernd.oppolzer at t-online.de
Sat May 27 11:26:40 CEST 2017
IMO, it's not about named parameters;
furthermore, it is not about readability, but this IMO
is a maintenance issue.
Think about a procedure that has two parameters and a lot of callers
and you want to add a third one.
it would be nice if you could specify a default value for the new
third parameter and don't have to change all the callers that use
only two.
So IMO a sensible extension to the Pascal syntax could be:
if there is a initialization on the procedure declaration, the parameter
is optional.
Example:
procecure P (x : integer; y : boolean; c: char := ' ');
the first two parameters are mandatory, the third is optional.
Calls to P with 2 and 3 parameters are both valid.
Another extension would be:
specify the formal parameter's name on call, that is:
P (y := true, c := '*', x := 25);
which allows for a different sequence of arguments on the procedure call
but this is a different topic and should be discussed seperate from the
default issue.
I guess, that all this will be limited to byvalue parameters ... not for
var parameters ...
Kind regards
Bernd
Am 27.05.2017 um 08:17 schrieb Mr Bee via fpc-pascal:
> Hi,
>
> As Pascal mostly well known as a safe, easy to read, and elegant
> language, don't you think Pascal needs named parameter? I mean for ALL
> kind of parameters, not just for Variants. When you have a function
> with many parameters having default values, you know that named
> parameter is desirable. For example:
>
> function f(p1: string = ''; p2: integer = 0; p3: boolean = false);
>
> But you only need to supply the third parameter, you still must supply
> the first and second ones with appropriate default values, like this:
>
> f('', 0, true);
>
> while with named parameter, you can do this:
>
> f(p3 := true);
>
> I believe it would raise Pascal's code readability. I know it has been
> discussed before. I know somehow the parser had been able to read such
> syntax. So, why don't we have the option to enable it for people who
> want it? Kinda a syntax switch mode.
>
> What do you think? :)
>
> --
>
> Regards,
>
>
> –Mr Bee
>
>
> _______________________________________________
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20170527/5b3014d5/attachment.html>
More information about the fpc-pascal
mailing list