Adam D. Ruppe: > case 2..5: > code; > break; > > could just be magically converted into > case 2: > case 3: > case 4: > case 5: > code; > break;
Note that the following syntax is already possible in D: case 2,3,4,5: code; break; But the range gets larger that syntax gets ugly, so the .. range looks like a good thing to have. So I'm +1 on the idea of the original poster. The range syntax of the D2 foreach may be even extended to support: if (x in 10..20) {... That more or less equals to the C macro: #define InRange(x, a, b) (unsigned((x) - (a)) <= (b) - (a)) That as you can see has just one branch instead of the usual two: http://smallcode.weblogs.us/checking_if_point_belongs_to_interval Bye, bearophile