FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Cita:
¿Alguien se anima a probar y calcular el tiempo con cada opción? |
#2
|
||||
|
||||
Cita:
Por otra parte, si usa una versión de Delphi que tenga expresiones regulares yo las usaría sin pestañear Por ejemplo, en php: Código PHP:
|
#3
|
||||
|
||||
Cita:
De tanto escudriñar, también me encontré con una situación que no entiendo... Haciendo, obtengo el resultado que me esperaba: Sin embargo si hago, obtengo este resultado: Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#4
|
||||
|
||||
Cita:
// Saludos |
#5
|
||||
|
||||
Cita:
Pero contra toda predicción, no hubo advertencia ni errores al acceder a una posición mas allá del valor de Length, eso me dejó con dudas e hice múltiples pruebas sin lograr que se produzca advertencia o error alguno. De ahí que atribuí que obtenía ese resultado por tratar con un AnsiString. Realmente siempre puse cuidado en no acceder a una posición mayor al largo de una cadena pensando en que generaría un error, pero todas las pruebas realizadas hasta ahora me indican que, al menos acceder (lectura) a una posición mas del valor devuelto por Length de un AnsiString no genera error. ¿ Conoces algún caso en que se produzca ? Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#6
|
||||
|
||||
Cita:
En ese caso, debemos velar por que no suceda o tener bien controlado lo que hacemos. La escritura fuera de los límites puede tener consecuencias y el compilador no avisa. Saludos |
#7
|
||||
|
||||
Ocurren el error en tiempo de ejecucion, porque hacerlo en tiempo de compilacion es un problema particularmente espinoso:
https://duckduckgo.com/?q=compile+time+bounds+checking Luego esta el hecho que el indice es un Int(32/64) que va desde el - al + en la escala numerica, en vez desde 0-+ (osea: El tipo de datos no es el indicado para un indice de array posicional). Luego el que String/Array son dinamicos, y detectar que no se pase un indice IMPLICA detectar cuando se redimensiona el array... lo que basicamente implica tener que correr el codigo (Hay tecnicas que se pueden usar, llamadas "data-flow", pero son muy complejas de implementar si se quiere una solucion GENERICA). La solucion? En primer lugar habria que arrancar con dejar de usar INTs y usar un tipo de datos mas adecuado. Luego, usar un sub-rango cuando el tamño maximo es conocido (ej: Si indexamos meses y sabemos que no son mas de 12). Pero cuando el tamaño es indeterminado? Igual toca comprobar en tiempo de ejecucion
__________________
El malabarista. |
#8
|
||||
|
||||
Hola escafandra.
Cita:
Por ejemplo, se puede correr este código una y otra vez sin ningún tipo de problemas ni mensajes (excepto el de finalización) Siempre puse especial cuidado en no escribir en "zonas desconocidas", ya que no hay dudas sobre sus potenciales y nefastas consecuencias (reitero que mi duda no va por ese lado). Pero tenía el mismo concepto para con la lectura, por lo que nunca antes se me ocurrió probar y me resulta sorprendente el resultado de las pruebas. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#9
|
||||
|
||||
Cita:
// Saludos |
#10
|
||||
|
||||
Cita:
// Saludos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Cómo quitar espacios inicial y final en cadena | bulc | Varios | 0 | 22-03-2014 18:24:33 |
Quitar Espacios en Sql | El_Perrito | Firebird e Interbase | 3 | 25-02-2005 12:49:12 |
Quitar espacios al final de una cadena | gescoto99 | SQL | 1 | 04-08-2004 00:02:43 |
Quitar espacios de campos CHAR | cartmanrules | Firebird e Interbase | 3 | 22-07-2004 10:53:06 |
Quitar espacios en blanco | Javier_A | OOP | 3 | 09-06-2004 10:29:27 |
|