Condicionales AS3. Switch-Case

Wednesday, 30. December 2009

Switch - Case AS3

Para ActionScript 3 existe un condicional muy utilizado en varios lenguajes de programación, y es precisamente el condicional SWITCH. Este nos permite realizar distintas acciones dependiendo del resultado que nos arroje la condición que hayamos establecido, lo cual puede ser muy útil para las aplicaciones que dessarrollamos en Flash y Flex. Podríamos suponer que queremos utilizar un condicional para comprobar el resultado de una operación, o el valor de una variable. Pero en este caso, queremos realizar distintas acciones dependiendo de los distintos resultados que podríamos obtener. Para esto funciona perfectamente el condicional switch.

Para más información sobre condicionales, y la utilización del condicional if puedes hacer clic aquí.

Utilización del condicional SWITCH

Para utilizar este condicional debemos empezar por escribir en una nueva línea la palabra clave switch. Posteriormente, entre paréntesis, debemos poner la condición de la cual queremos conocer el resultado, la cual puede ser una variable, una operación, etc. Abrimos las llaves y ponemos cada uno de los casos con la palabra case, seguido de dos puntos, y las acciones que queremos realizar. Los casos deben estar separados por la palabra clave ‘break;’ para que estos no se ejecuten todos de forma contínua. Por lo tanto debemos escribir algo así:

switch(condición){
case a:
//acciones que se ejecutan si el resultado de la condición es a
break;
case b:
//acciones que se ejecutan si el resultado de la condición es b
break;
}

en lugar de a o b, debemos escribir los posibles resultados de nuestra condición.

Ejemplo

Por ejemplo, queremos comprobar si el valor de una variable llamada ‘miVariable’, que contiene números enteros es 1, 2, 3 o 4, y realizar distintas acciones. Para esto escribimos:
switch(miVariable){
case 1: trace("miVariable es 1"); break;
case 2: trace("miVariable es 2"); break;
case 3: trace("miVariable es 3"); break;
case 4: trace("miVariable es 4"); break;
}

Utilización de DEFAULT

default funciona en el condicional switch como else funciona en el condicional if. Define lo que hará el condicional switch por defecto si no se cumple una de las condiciones mencionadas. No es un elemento requerido, es decir, podemos no utilizarlo, pero es de gran utilidad. Supongamos que en el ejemplo anterior queremos que si no se cumple ninguna condición, es decir, si el resultado no es 1, ni 2, ni 3 ni 4, realice otra acción sin importar que número sea. Para esto nos sirve DEFAULT:
switch(miVariable){
case 1: trace("miVariable es 1"); break;
case 2: trace("miVariable es 2"); break;
case 3: trace("miVariable es 3"); break;
case 4: trace("miVariable es 4"); break;
default: trace("miVariable es OTRO NÚMERO"); break;
}

Cuando el número almacenado en la variable sea diferente a los definidos en cada condición, ejecutará las acciones estipuladas en default.

Multiples casos con las mismas acciones

Si queremos el mismo resultado en distintos casos, podemos agrupar casos para no escribir las mismas acciones en cada uno. Esto lo hacemos escribiendo los casos en líneas seguidas sin utilizar break. Al final, ponemos las acciones.

Por ejemplo, queremos saber si una variable llamada ‘letra’ es a o b. En ese caso nos de un aviso que diga ‘Es a o b’. si su valor es c,d, o e nos de un aviso que diga ‘Es c, d o e’. De resto, nos de un aviso que diga ‘No es una opción válida’. Para esto escribiremos:
switch(letra){
case "a":
case "b":
trace("Es a o b");
break;
case "c":
case "d":
case "e":
trace("Es c, d o e");
break;
default:
trace("No es una opción válida");
break;
}

Espero que el artículo sea claro y útil para muchos. Como siempre digo, si existe una sugerencia, alguna duda, un comentario o aporte, o cualquier cosa que sea necesario decir, se puede dejar un comentario en el sistema de comentarios del blog.
Un Saludo.
Samuel Jiménez. EsK.

VN:F [1.9.1_1087]
Rating: 8.9/10 (25 votes cast)
Condicionales AS3. Switch-Case, 8.9 out of 10 based on 25 ratings

9 Responses to “Condicionales AS3. Switch-Case”



  1. Alex Says:

    Excelente tutor Samuel, muchas gracias!

    VA:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)


  2. eskombro Says:

    Muchas Gracias. Me alegra que sea útil el artículo, ojalá para muchos. Un saludo y gracias nuevamente.

    VN:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)


  3. Chy_enrique Says:

    Claro que es útil! me sumo a las gracias y felicitaciones! :D

    Un saludo!!!

    VA:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)


  4. jeff ibacache Says:

    Gracias compañero, me soluciono altiro mi inquietud !

    saludos desde chile.

    VA:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)


  5. eskombro Says:

    Muchas gracias por los comentarios. En serio es agradable ver que a las personas les sirve lo que tu haces.

    Saludos.

    VN:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)


  6. Mery Says:

    Acabo de descubrir tu blog y creo que me voy a dar un largo paseo :-) muy calrito todo y bien explicado. Gracias!!

    VA:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)


  7. eskombro Says:

    Gracias. Es todo tuyo.

    saludos.

    VN:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)


  8. GUSUM Says:

    Muy útil, gracias!
    Saludos.

    VA:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)


  9. avatarbobo Says:

    Muchísimas gracias!
    Me has sacado de una gran duda. Visitare tu pagina mas seguido.

    VA:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)

Leave a Reply