Sucios trucos, hoy switch
Bueno, pues hoy me han enseñado un asqueroso truquito de esos que molan, el caso es que estaba intentando hacer lo siguiente en Flash:
<code>switch(var){
case("1" || "2"):
// movidillas
break;
default:
break;
}</code>
Bueno, pues esto no es posible, se va siempre al default. Entonces he preguntado a los maestros que han sacado el librillo para dejarlo como sigue:
<code>switch(var){
case("1"):
case("2"):
// movidillas
break;
default:
break;
}</code>
Eso sí que funciona! Como no hay un break al final del caso 1, pues ejecuta las acciones del caso 2, que sí que tiene break. Se sale.
Pues estaba apunto de duplicar el código de los dos casos. Tuve la idea feliz de preguntar.
Pues espero que ayude a alguien.
Bye!
mara_2
eso de que la gete postee cosas molonas, y que responda las dudas etc etc es lo que hace de este foro un foro GRANDE.
y molón.
:)
jesusgollonet
ey, zárate, a mi también me interesa.
de hecho estuve pensando q, además de las consultas q solemos hacer por el foro, también deberíamos postear esos pequeños hallazgos en forma de truqui que descubrimos, nos cuentan, aprendemos....
asín q porfa, sigue posteando así.
graciaas.
sole
Me corrijo:
sole
Bueno, la razón de que no evalúe ("1" || "2") es porque el resultado de esa expresión será indefinido, ni verdadero ni falso, que es de tipo booleano y lo que espera flash encontrar en un case.
Flash espera encontrarse en un case algo que "CASE" con la expresión que le facilitamos. No tiene porqué ser booleano, puede ser cualquier tipo de variable... eso sí, tendremos que darle "casos" que sean del mismo tipo que la que vamos a comparar.
Esto quiere decir que "no es bueno" comparar enteros con cadenas, cadenas con booleanos, etc, etc...
disculpas si ha liado a alguien ...
jaumeav Plus
cbp
jeje, justo ayer me di cuenta también que si se dejaban los case sin el break te hacía todo de seguido. en mi caso fue un error porque me s'había olvidau ponerlos :oops:, pero para la próxima vez ya sé que se puede utilizar como un recurso :)
por cierto, zárate, que no sólo le interesa a txuma, hombre, tu sigue posteando cosillas así :)
ESO ESO! q no todos somos todavia gurus del AS! :D
pronto pronto! hehe
cbp
jeje, justo ayer me di cuenta también que si se dejaban los case sin el break te hacía todo de seguido. en mi caso fue un error porque me s'había olvidau ponerlos :oops:, pero para la próxima vez ya sé que se puede utilizar como un recurso :)
por cierto, zárate, que no sólo le interesa a txuma, hombre, tu sigue posteando cosillas así :)
Usuario desconocido
sole
Exagerados.
...ABUSICA
sole
Exagerados.
hartum
sole
¿Queréis que siga o paro ya de rallarme? O:)
Sole como sigas a este ritmo te voy a abrir un post de "chico busca chica" solo para ti, que fiera dios mio.
Usuario desconocido
sigue sigue... :D
sole
Bueno, la razón de que no evalúe ("1" || "2") es porque el resultado de esa expresión será indefinido, ni verdadero ni falso, que es de tipo booleano y lo que espera flash encontrar en un case.
El operador || sólo sirve con operandos booleanos, con cadenas el resultado puede ser imprevisible... Otra cosa sería el operador | que debería funcionar como un OR a nivel de bit, con números.
¿Queréis que siga o paro ya de rallarme? O:)
Usuario desconocido
HARTUM
<div class="quote">
zigotica
<blockquote>
<div class="quote">
jipipayo
<blockquote>como evoluciona flash.</blockquote>
</div>actionscript = ecmascript = javascript</blockquote>
</div>
andaaaaaaaaaaaaaaaaaaaa mira tu quien ha vueltooooo
y ahora hasta lingo es ECMA compliant.
juandelgado
Referencia de Flash
switch (expresión)
Esto era lo que me mosqueaba. Yo con esto entendía que lo que yo intentaba era válido, pero no.
Y por lo visto sí que es un viejo truco de C, es lo que me comentó la persona que me lo contó.
PD: Sí hay que hacer ése smilie Joshua ^_^
hartum
oka ;-)
p.d: pos mandame desde el limbo ese script mariquitar, y contesta algun mail.
zigotica
no he vuelto, estoy en el limbo :)
hartum
zigotica
<div class="quote">
jipipayo
<blockquote>como evoluciona flash.</blockquote>
</div>actionscript = ecmascript = javascript
andaaaaaaaaaaaaaaaaaaaa mira tu quien ha vueltooooo
zigotica
jipipayo
como evoluciona flash.
actionscript = ecmascript = javascript
josh
jeje, eso es C de toda la vida. De hecho en los case solo se pueden poner constantes, no expresiones a evaluar
Usuario desconocido
jajajaj Zárate, no te enfades tontín, a mi me ha encantado leer eso, joder yo ahora estoy aprendiendo un poco de C, y cuando he visto el switch case ese , pensaba que estabas escribiendo en C, como evoluciona flash.
joshuatree
Hmmm, no encuentro un smilie en plan 'jooo, no te pongas asiiii, venga, tontooo!'......... jejejejeje
txuma Plus
Zárate
Pues-na-da-la-pró-xi-ma-se-la-man-do-a-txu-ma-por-ma-il...
: )
Gracias, majete, será bienvenida :)
juandelgado
Ya veo que sólo a los inculticios como Txuma o como yo nos sorprende descubrir estas cosas.
[léase en tonito Homer hablando de los éxitos de Flanders]
Pues-na-da-la-pró-xi-ma-se-la-man-do-a-txu-ma-por-ma-il...
: )
joshuatree
Solo se saca a relucir en momentos selectos :D
txuma Plus
Buen truquillo, don Zárate, buen truquillo :)
(Joshua, búscate otro 'comeorejas', que va a dejar de causar impacto de tanto usarlo :P)
joshuatree
Este es mejor aun, jejeje
http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons6/70.gif
klein
Jejejejejej... joshua, me flipa es smilie
joshuatree
http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons6/76.gif