proposal: allow 'with(Foo):' in addition to 'with(Foo){..}'
Era Scarecrow via Digitalmars-d
digitalmars-d at puremagic.com
Sun Aug 10 01:34:38 PDT 2014
On Sunday, 10 August 2014 at 08:12:05 UTC, Walter Bright wrote:
> On 8/9/2014 1:04 PM, Timothee Cour via Digitalmars-d wrote:
>> See email: 'with(Foo):' not allowed, why? in
> No other statement construct works like that, there doesn't
> seem to be much point to adding such a special case.
Guess it depends on the type. with(): would act a lot like
private/public labels. I can see uses; Although it would mostly
be to keep code cleaner rather than adding more functionality.
Depends on how many pesky extra braces you want to avoid...
enum Flags {a,b,c,readonly,write,etc}
void func(Flags f){
switch(f) {
with(Flags): //or put this outside the switch...
case a: //Flags.a:
case b: //Flags.b:
case c: //Flags.c:
case readonly: //Flags.readonly:
case write: //Flags.write:
}
}
Honestly i'd probably want to use multiple enum types at the
same time, so it would be with(type1,type2,type3, etc):. This
assumes it doesn't clash in the following code. However i don't
NEED it to work...
More information about the Digitalmars-d
mailing list