Wouldn't it be nice (case range statements)
John Colvin via Digitalmars-d
digitalmars-d at puremagic.com
Wed Oct 15 01:03:12 PDT 2014
On Tuesday, 14 October 2014 at 21:33:36 UTC, Adam D. Ruppe wrote:
> On Tuesday, 14 October 2014 at 21:29:59 UTC, John Colvin wrote:
>> You have to duplicate the case keyword when declaring case
>> ranges. Why?
>>
>> Case ranges are inclusive at both ends of the range, unlike in
>> foreach. Again, why?
>
> It comes from writing:
>
> switch(foo) {
> case 1:
> case 2:
> case 3:
> case 4:
> // code
> }
>
> Then just replacing the case 2 and case 3 with .. collapsing
> the repetition to just the beginning and the end. If you write
> it as:
>
> switch(foo) {
> case 1:
> ..
> case 4:
> // code
> }
>
> vertically, that is, I think the rationale becomes a lot more
> clear. I like this a lot, it works brilliantly for me and makes
> good sense.
Ah, yeah, that does make sense.
>> Allow the second `case` keyword to be removed, which would
>> then have the same semantics as the range in foreach.
>
> That would be ok too.
More information about the Digitalmars-d
mailing list