Hi, Sven… This is what I'm thinking… // function declarationfunction f(i: integer = 0; s: string = ''; d: double);begin // fill code hereend;// method callingf(s := 'text', 0.1); // supply the s and d paramf(0.2); // only supply the required d param// supply all the params without proper order is fine,// as long as the parameter name is givenf(d := 0.3, i := 3, s := 'text')// supply param with similar variable name is fine,// because the compiler knows what each meanss := 'another text';d := 0.4;m(s := s, d := d); Well, it's all inspired from Swift, but I think it suits Pascal as well. As you said the code is already there in FPC compiler, is it possible to support such syntax in next release? At least some of them. Can we have this named parameter feature in a particular switch mode, say {$MODESWITCH NAMEDPARAMETERS} or something, so it doesn't bother anyone who don't want this feature. Thank you. Regards, –Mr Bee
Pada Sabtu, 27 Mei 2017 21:18, Sven Barth via fpc-pascal <fpc-pascal@lists.freepascal.org> menulis: 2017-05-27 16:12 GMT+02:00 Michael Van Canneyt <mich...@freepascal.org>: > > > On Sat, 27 May 2017, Sven Barth via fpc-pascal wrote: > >> 2017-05-27 9:54 GMT+02:00 Michael Van Canneyt <mich...@freepascal.org>: >>> >>> >>> >>> On Sat, 27 May 2017, Mr Bee via fpc-pascal wrote: >>> >>>> 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? :) >>> >>> >>> >>> >>> Opinions on what constitutes readable code clearly differ :) >>> >>> But as far as I know, the parser is not able to read this syntax ? >> >> >> The parser supports it for dispatch calls on variants (both methods >> and properties). You even wrote that in your own article about Word >> automation: https://www.freepascal.org/~michael/articles/word/word.pdf >> ;) > > > Yes, in Delphi. But I didn't know FPC also supports it ? Yes, it does. I didn't find a testcase for it right away, but the compiler definitely contains code for this. Regards, Sven _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
_______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal