On 10/06/2011 19:06, Andrei Alexandrescu wrote:
On 6/10/11 12:42 PM, Robert Clipsham wrote:
On 10/06/2011 17:15, Andrei Alexandrescu wrote:
https://github.com/D-Programming-Language/phobos/pull/94

Discuss!

Andrei

I really *really* don't like this. It's ugly and verbose, and a pathetic
work around for the lack of named parameters. Either support named
parameters or not, don't have an ugly half-baked work-around.

This is not half-baked. It's pretty much it.

My choice of wording was poor, sorry.

Ugly is in the eye of the beholder, but I fail to see how the added
punctuation makes Flag!"param".yes significantly more verbose than param
: true.

foo(param: true, otherParam: false);
foo(Flag!"param".yes, Flag!"otherParam".no);

I don't know about you, but I find the former is far more legible. I'd hate to see my code littered with Flag!"something".

The problem that named parameters are still optional remains. Or we need
to add one extra language feature to specify required named parameters.

void foo(bool param, bool otherParam, bool thisOneIsntRequired = false);

Call it with or without named parameters, two are required, one is not.

foo(otherParam: true, param: false);
foo(true, false);
foo(otherParam: true, param: false, thisOneIsntRequired: true);

Would all be valid.

Andrei

--
Robert
http://octarineparrot.com/

Reply via email to