Flag proposal

Robert Clipsham robert at octarineparrot.com
Fri Jun 10 11:52:53 PDT 2011


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/


More information about the Digitalmars-d mailing list