FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Try Except --finally--
Hola de nuevo, Otra pregunta mas
Como quito todo esto que me desagrada usando try, execpt o algo asi, ya que como vereis uso demasiados if, si no, no me da el resultado que busco. En el caso de Case of, no lo entiendo bien por eso no lo uso. Hago esto: Como veis es una repeticion de lo mismo, pero si no lo hago el if solamente ve el primer dato y obvia los demas. Ya se codigo de principiante. Saludos y Gracias Saludos |
#2
|
|||
|
|||
Para simplificar algunas líneas puedes hacer:
Saludos... |
#3
|
||||
|
||||
Vamos por partes, yo no veo necesario de try ... except, yo más bien te aconsejaria el uso de begin ... end. Es decir:
|
#4
|
||||
|
||||
Hola,
A mí se me ocurre a bote pronto algo así:
Edito: Como sigamos "refactorizando" al final no sabremos si la respuesta fue correcta o qué. Última edición por dec fecha: 02-10-2006 a las 20:45:15. |
#5
|
||||
|
||||
Hola,
Cita:
Claro que es mi opinión y no pretendo decir nada en contra de ti Maeyanes, ni mucho menos. Por ejemplo, el bloque de código que he expuesto anteriormente puede "leerse" más o menos rápida y eficazmente sólo por sus comentarios:
Última edición por dec fecha: 02-10-2006 a las 20:51:36. |
#6
|
|||
|
|||
Bueno, yo creo que el código que puse es perfectamente legible, al usar la variable lógica Correcto.
Pero bueno, cada quien tiene su estilo... Saludos... |
#7
|
||||
|
||||
Gracias a Todos
Seoane, por alguna razon que desconozco con esta forma que me indicas, que ya intente, aveces funciona y aveces no, es estraño que pase esto ya que se supone que un codigo o funciona o no, pero pasa, voy a revisarlo denuevo ya que tal vez el begin no lo coloque en donde debia. Muchas gracias a todos por sus respuestas. saludos |
#8
|
||||
|
||||
Hola,
Cita:
De todos modos, efectivamente, una cosa es seguir un determinado "patrón" escribiendo el código y otra la "inteligibilidad" de este... en esto puede que yo no sea quién para decir que una manera es mejor que otra... únicamente puedo limitarme a exponer mi opinión y esperar que alguien no la encuentre del todo descabellada: o lo contrario, que me rebata la misma con algún argumento que me haga rectificar. |
#9
|
||||
|
||||
Para seguir con la duda
La palabra (else) no significa en este caso (de lo contrario) osea que: If x = Q then tal cosa else // de lo contrario tal otra cosa O algo asi, con esto me queda una duda en el codigo de Maeyanes:
Lo comento porque este codigo es nuevo para mi y veo que es realmente practico, pero creo que talvez por la prisa no se vieron ciertas cosas o bien estoy equivocado, me gustaria que me lo indicaran, si son tal amables. Gracias |
#10
|
||||
|
||||
Hola,
Yo diría que lo que ocurre es que una cosa no quita la otra, es decir, efectivamente, el "else" de una condición indica "el camino alternativo a seguir", pero, dentro del bloque "else" es perfectamente posible utilizar el valor de la variable "Correcto". Piensa además que la variable "Correcto" se "inicializa" antes de la condición, esto es, está disponible para cualquiera de los caminos que se tomen en esta. Otra cosa sería algo así:
Creo que el propio compilador se encargaría de alertarte de que el mismo no es del todo correcto, valga la redundancia, puesto que la variable "correcto" no estaría inicializada en el bloque "else" en este caso. Ahora bien, hacer esto no implica ningún problema y puede ser lo que se precise:
¿Qué valor tendría "Visible" si llegara a ejecutarse el código del bloque "else"? Efectivamente, "true", puesto que ese es el valor que damos a la variable "correcto" anteriormente. Última edición por dec fecha: 02-10-2006 a las 21:58:45. |
#11
|
||||
|
||||
Hola yo lo que creo que está preguntando en este caso es si ésto se ejcutará en caso de que el valor de correcto sea true
Para responderte, si se ejecuta, ya que esas instrucciones estan fuera del if o el else. Piensa que para que se ejecuten dentro del if o el else deben estar incluidas ademas dentro de un bloque begin..end.
En este caso no se ejecutaria si correcto fuera true. Creo que es eso lo que querías decir. Espero te sirva. Saludos |
#12
|
||||
|
||||
Señores muy amables
Mi duda esta completamente evacuada y realmente he aprendido mucho Muchisimas gracias. Saludos |
#13
|
|||
|
|||
Aclarando un poco más las cosas, esto:
Es equivalente a esto:
Saludos... |
#14
|
||||
|
||||
Hola,
O lo que es lo mismo, no es preciso utilizar un bloque "begin .. end" si sólo se precisa una instrucción a continuación del "if" o "else" de turno. El bloque "begin .. end", precisamente, sirve para poder incluir tantas instrucciones como sean precisas. |
|
|
|