Thread overview | ||||||
---|---|---|---|---|---|---|
|
January 12, 2018 continue in static foreach | ||||
---|---|---|---|---|
| ||||
How do I use? > static foreach(enum string member; members) { > static if(isFunction!(__traits(getMember, C, m ember))) { > continue; > } give error: > must use labeled continue within static foreach then I tried: > outer:static foreach(enum string member; members) { > static if(isFunction!(__traits(getMember, C, > member))) { > continue outer; > } give error: > Error: enclosing label outer for continue not found How do I fix it? |
January 12, 2018 Re: continue in static foreach | ||||
---|---|---|---|---|
| ||||
Posted in reply to Marc | On Fri, Jan 12, 2018 at 10:03:40PM +0000, Marc via Digitalmars-d-learn wrote: > How do I use? > > > static foreach(enum string member; members) { > > static if(isFunction!(__traits(getMember, C, member))) { > > continue; > > } > > give error: > > > must use labeled continue within static foreach > > then I tried: > > > outer:static foreach(enum string member; members) { > > static if(isFunction!(__traits(getMember, C, member))) { > > continue outer; > > } > > give error: > > > Error: enclosing label outer for continue not found > > How do I fix it? Unfortunately, this is currently not supported. You'll have to use an else-clause to handle the case when the condition is false. T -- Why waste time reinventing the wheel, when you could be reinventing the engine? -- Damian Conway |
January 13, 2018 Re: continue in static foreach | ||||
---|---|---|---|---|
| ||||
Posted in reply to H. S. Teoh | On Friday, 12 January 2018 at 22:03:53 UTC, H. S. Teoh wrote:
> On Fri, Jan 12, 2018 at 10:03:40PM +0000, Marc via Digitalmars-d-learn wrote:
>> How do I use?
>>
>> > static foreach(enum string member; members) {
>> > static if(isFunction!(__traits(getMember, C, member))) {
>> > continue;
>> > }
>>
>> give error:
>>
>> > must use labeled continue within static foreach
>>
>> then I tried:
>>
>> > outer:static foreach(enum string member; members) {
>> > static if(isFunction!(__traits(getMember, C, member))) {
>> > continue outer;
>> > }
>>
>> give error:
>>
>> > Error: enclosing label outer for continue not found
>>
>> How do I fix it?
>
> Unfortunately, this is currently not supported. You'll have to use an else-clause to handle the case when the condition is false.
>
>
> T
thanks
|
January 13, 2018 Re: continue in static foreach | ||||
---|---|---|---|---|
| ||||
Posted in reply to Marc | On Saturday, 13 January 2018 at 01:07:24 UTC, Marc wrote: > On Friday, 12 January 2018 at 22:03:53 UTC, H. S. Teoh wrote: >> On Fri, Jan 12, 2018 at 10:03:40PM +0000, Marc via Digitalmars-d-learn wrote: >>> How do I use? >>> >>> > static foreach(enum string member; members) { >>> > static if(isFunction!(__traits(getMember, C, member))) { >>> > continue; >>> > } >>> >>> give error: >>> >>> > must use labeled continue within static foreach >>> >>> then I tried: >>> >>> > outer:static foreach(enum string member; members) { >>> > static if(isFunction!(__traits(getMember, C, member))) { >>> > continue outer; >>> > } >>> >>> give error: >>> >>> > Error: enclosing label outer for continue not found >>> >>> How do I fix it? >> >> Unfortunately, this is currently not supported. You'll have to use an else-clause to handle the case when the condition is false. >> >> >> T > > thanks It was mentioned in DIP1010, but that bit hasn't been accepted yet: https://github.com/dlang/DIPs/blob/master/DIPs/DIP1010.md#static-break-and-static-continue |
Copyright © 1999-2021 by the D Language Foundation