switch ( Expression ) ScopeStatement
Derek Parnell
derek at psych.ward
Mon Jul 6 20:09:23 PDT 2009
On Tue, 07 Jul 2009 14:57:39 +1200, Tim Matthews wrote:
> Switch is really a neat form of comparison and gotos but with actual
> labels replaced with a case statement. A block statement is usually used
> to have more than one case statement valid. This is valid code but
> uncomment the next line and it becomes invalid:
>
> module test;
>
> import tango.io.Stdout;
>
> void main(char[][] args)
> {
> if (args.length > 1)
> switch (args[1])
> case "1": Stdout("1"); break;
> //case "2": Stdout("2"); break; //uncomment and error
>
> }
Actually that is not valid code. The first "break;" breaks the program.
This is valid ...
module test;
import tango.io.Stdout;
void main(char[][] args)
{
if (args.length > 1)
switch (args[1])
case "1": Stdout("1"); // break; //uncomment and error
}
Ok, why on earth would a one-case switch be useful? And that still doesn't
help me understand why allowing other statement types in that position is a
good idea.
--
Derek Parnell
Melbourne, Australia
skype: derek.j.parnell
More information about the Digitalmars-d-learn
mailing list