About switch case statements...
KennyTM~
kennytm at gmail.com
Mon Nov 16 09:30:43 PST 2009
On Nov 17, 09 01:12, Bill Baxter wrote:
> On Mon, Nov 16, 2009 at 8:24 AM, Andrei Alexandrescu
> <SeeWebsiteForEmail at erdani.org> wrote:
>> Walter Bright wrote:
>>>
>>> Andrei Alexandrescu wrote:
>>>>
>>>> I was hoping the lesson learned would be to fix switch as was suggested.
>>>
>>> I checked, because it wasn't written in the way I usually write things,
>>> and sure enough it wasn't code I wrote :-)
>>>
>>> From the changelog for D 0.129: "Incorporated Ben Hinkle's new std.format
>>> which can print general arrays."
>>>
>>> http://www.digitalmars.com/d/1.0/changelog1.html#new0129
>>
>> So people are liable to make the mistake.
>>
>> Andrei
>>
>
> What about when you want to fall through to a multiple label? Or a range label?
>
> case 0:
> // do stuff
> goto case ??;
> case 1: .. case 9:
> // do more stuff
> goto case ??;
> case 10,20,30:
> // still more stuff
>
> The obvious answer would seem to be just "pick any one".
> I just bring it up because I haven't seen that ... uh case ...
> mentioned by anyone.
>
> --bb
Since
case a:
..
case b:
expands to
case a:
case a+1:
case a+2:
// ....
case b:
and
case a,b,c,d:
expands to
case a:
case b:
case c:
case d:
Your speculation is correct. Please note that the "goto case X;"
statement works *now*, so there's no need to guess its behavior.
More information about the Digitalmars-d
mailing list