switch case for constants-only?
Nick Sabalausky
a at a.a
Sat Dec 5 14:23:51 PST 2009
"Sean Kelly" <sean at invisibleduck.org> wrote in message
news:hfelka$rhf$1 at digitalmars.com...
> Nick Sabalausky Wrote:
>
>> I just noticed in D1 that the values for the cases in a switch must be
>> known
>> at compile-time (btw, the docs don't seem somewhat vague on that). Is
>> this
>> also true in D2? If so, I don't suppose we could get that changed before
>> the
>> book? It's a real PITA for dynamic code.
>
> int x = 1, y = 1;
>
> switch( z )
> {
> case x:
> ...
> case y:
> ...
> }
>
> What should this do? Throw an exception perhaps?
As I mentioned earlier, that should be semantically equivilent to:
int x = 1, y = 1;
if(z == x)
{ ... }
else if(z == y)
{ ... }
In fact, it's already semantically equivilent to that, except that x and y
are currently required to be known at compile-time.
More information about the Digitalmars-d
mailing list