It would be nice if the case labels in switch statement supported comparison operators, much like the Select Case statement in Visual Basic does.
Now, there are only two options for the switch labels:
switch-label:
case constant-expression :
default :
This could be extended to:
case [< | > | <= | >=] constant-expression [ to ] constant-expression :
default :
So you could write code as in this example:
int iq = DoIqTest();
switch (iq)
{
case <= 69:
ProcedureExtremelyLow();
break;
case 70 to 79:
BorderlineProcedure();
break;
case 80 to 89:
LowAverageProcedure();
break;
case 90 to 99:
case 101 to 109:
AverageProcedure();
break;
case 100:
ExactlyMedianProcedure();
break;
case 110 to 119:
HighAverageProcedure();
break;
case 120 to 129:
SuperiorProcedure();
break;
case >= 130:
VerySuperiorProcedure();
break;
}
The 'to' keyword would be used to specify a range. In the statement switch (value)
, case x to y:
would be equivalent to the boolean expression value >= x && value <= y
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4