por
pobrecito hablador
el Lunes, 17 Enero de 2011, 13:57h
(#1261117)
"Es que ES un if-else-else, igual que un for es lo mismo que un while."
No exactamente.
Por un lado, sí es más inteligible ("mapea" mejor a un esquema mental de "multiple choice"). Por otro, no siempre es igual a un if-else-else debido a la opcionalidad del "break" que permite entrada condicional dentro de una cascada de acciones: switch:
case 1:
dosomething;
break;
case 2:
dosomething;
case 3:
dosomething;
break;
default:
dosomething;
Como se ve, entrar en el caso 2 ejecutará 2 *y* 3 "en cascada". Hacerlo mediante sentencias if-else-else sería considerablemente más oscuro.
Como se ve, entrar en el caso 2 ejecutará 2 *y* 3 "en cascada". Hacerlo mediante sentencias if-else-else sería considerablemente más oscuro.
Que lo permita hacer no quiere decir que sea correcto hacerlo, de hecho en la mayoría de los lenguajes sigue estando implementado el GOTO y no por ello lo usamos, o deberíamos usarlo. Que esa cascada te sirva en algún caso particular no es discutible, pero nadie en su sano juicio lo haría.-
-- My back's against the wall. But you can't kill us all Even if you take my life. Still we will survive.
Re:Strings in switch statements
(Puntos:1, Informativo)No exactamente.
Por un lado, sí es más inteligible ("mapea" mejor a un esquema mental de "multiple choice"). Por otro, no siempre es igual a un if-else-else debido a la opcionalidad del "break" que permite entrada condicional dentro de una cascada de acciones:
switch:
case 1:
dosomething;
break;
case 2:
dosomething;
case 3:
dosomething;
break;
default:
dosomething;
Como se ve, entrar en el caso 2 ejecutará 2 *y* 3 "en cascada". Hacerlo mediante sentencias if-else-else sería considerablemente más oscuro.
Re:Strings in switch statements
(Puntos:0)Re:Strings in switch statements
(Puntos:0)Pero lo que escribas con un switch se puede escribir if-else-else.
Re:Strings in switch statements
(Puntos:1)Que lo permita hacer no quiere decir que sea correcto hacerlo, de hecho en la mayoría de los lenguajes sigue estando implementado el GOTO y no por ello lo usamos, o deberíamos usarlo. Que esa cascada te sirva en algún caso particular no es discutible, pero nadie en su sano juicio lo haría.-
My back's against the wall. But you can't kill us all Even if you take my life. Still we will survive.