switch case for constants-only?
Ellery Newcomer
ellery-newcomer at utulsa.edu
Sun Dec 6 07:29:33 PST 2009
On 12/05/2009 11:17 PM, Don wrote:
> Ellery Newcomer wrote:
>> On 12/05/2009 09:20 PM, Don wrote:
>>> 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.
>>>
>>> I actually tested this. I was surprised. In D2, variables are allowed...
>>>
>>
>> But not dynamic ones
>>
>> It is a surprise though.
> What do you mean 'dynamic ones' ?
> Eg, this works:
>
> for (int i=0; i<10; ++i) {
> switch(x) {
> case 3:
> break;
> case i:
> break;
> default:
> }
> }
Oop. Never mind. I was looking at
void main(string[] args){
int i = to!(int)(args[1]);
switch(i){
case args.length: writeln("hey!");
}
}
Now I'm really surprised.
More information about the Digitalmars-d
mailing list