
Код AS3:
var n:int = 8;
var a:Array/*int*/ = [];
var from:int = 100;
trace(n);
switch (--n)
{
case 7: a[n] = from++;
case 6: a[n] = from++;
case 5: a[n] = from++;
case 4: a[n] = from++;
case 3: a[n] = from++;
case 2: a[n] = from++;
case 1: a[n] = from++;
case 0: a[n] = from++;
default: break;
}
trace(a, n, from);
Объясните пожалуйста!
EDIT: Оказалось, что условие switch'a не проверяется в каждом кейсе...

Код AS3:
var n:int = 0;
var a:Array/*int*/ = [];
var from:int = 100;
trace(n);
switch (true)
{
case 0: a[n++] = from++;
case 1: a[n++] = from++;
case 2: a[n++] = from++;
case 3: a[n++] = from++;
case 4: a[n++] = from++;
case 5: a[n++] = from++;
case 6: a[n++] = from++;
case 7: a[n++] = from++;
default: break;
}
trace(a, n, from);
Кстати, если сделать так - нас встретит VerifyError