Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/11/2015, 12:26
Tachikomaia
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Optimizar búsqueda de cadena.

"Si no puedes hacerlo, haz algo más simple primero". Siguiendo eso hice este código:
Código a:
Ver original
  1. E = "0";
  2. // Otros elms:
  3. Char0ID = 0;
  4. Char1ID = 0;
  5. CursorMaxPos = 0;
  6.  
  7. // Anali:
  8. if (E == "33") {
  9.     Resp = "Un elemento que cumple la condición es el "+E+"\n"+Resp;
  10.     stop ();
  11. }
  12.  
  13. Resp = "El elemento "+E+" no cumple la condición.\n"+Resp;
  14. Cursor = 0;
  15.  
  16. Char0ID = Char0ID+1;
  17. if (Char0ID<10) {
  18.     E = String(Char0ID);
  19.     if (Cursor<CursorMaxPos) {
  20.         Cursor = Cursor+1;
  21.         E = Char1ID+E;
  22.     }
  23. } else {
  24.     Char0ID = 0;
  25.     CursorMaxPos = CursorMaxPos+1;
  26.     E = String(Char0ID);
  27.     Char1ID = Char1ID+1;
  28.     if (Char1ID<10) {
  29.         E = Char1ID+E;
  30.     } else {
  31.         Resp = "No es posible cumplir la condición.\n"+Resp;
  32.         stop ();
  33.     }
  34. }
  35.  
  36. gotoAndPlay (2);
Proximamente intentaré que no tenga el límite de 2 dígitos, es decir, este produce desde "0" hasta "99" nada más. Conste: No fue mi intención que generara números, sino sería mucho más fácil:
Código a:
Ver original
  1. E = 0;
  2. // Otros elms:
  3. Resp = "";
  4.  
  5. // Anali:
  6. if (E > 10) {
  7.     Resp = "Un elemento que cumple la condición es el "+E+"\n"+Resp;
  8.     stop ();
  9. }
  10.  
  11. Resp = "El elemento "+E+" no cumple la condición.\n"+Resp;
  12. E = E+1;
  13. gotoAndPlay (2);
aunque también mucho más diferente de lo que quiero hacer. La idea es hacerlo con caracteres que no sean número. Usé números pero como si no lo fuesen. Porque así me resulta más fácil entender y aplicarlo (no tengo que usar la variable Data ni las funciones charat, etc), puede sonar contradictorio, pero bueno, lo que quería practicar y conscientizar más era el tema de los cursores. De hecho, acá no se usan o podrían no usarse, pero los puse precisamente para ver más o menos cómo. Cuando luego intente que no haya límites, tendré que usarlos.

Edit un día después:
He estado acomodando la versión simplificada, de modo que parezca más a la original, y me he hartado; le quité el else que en la original no tenía necesidad -sólo estaba para recordarme algo- y por ahora no lo seguiré intentando optimizar. Pero la ayuda con las condiciones que dije sigue siendo bienvenida.

Última edición por Tachikomaia; 24/11/2015 a las 22:25