Switch: Case Range Syntax
Vijay Nayar
madric at gmail.com
Wed Aug 17 10:27:43 PDT 2011
D adds a very handy feature that allows you to check for a range of
values in a single case. Is there a particular reason that the syntax
"case <start>: .. case <end>:" is used instead of treating the case
statement similarly to an array slice, e.g. "case <start> .. <end>:"?
For example:
import std.stdio;
void main() {
int bob = 12;
switch (bob) {
// Why not "case 0 .. 9:"?
case 0: .. case 9:
writeln("Less than 10.");
case 10: .. case 19:
writeln("Less than 20.");
case 20: .. case 29:
writeln("Less than 30.");
break;
default:
break;
}
// Output: Less than 20. Less than 30.
}
- Vijay
More information about the Digitalmars-d
mailing list