FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
+1 .
|
#2
|
||||
|
||||
De hecho, creo que el debate debió comenzar con una exposición de motivos, precisamente para dar mayor claridad: cuáles son exactamente las supuestas falencias y virtudes de la cláusula.
Por ejemplo, ¿quién no ha usado el típico
para mostrar un cuadro de diálogo? Claro que podemos usar una variable pero resulta muy cómodo ahorrárnosla si el formulario se desecha una vez cerrado. O bien, ¿han considerado que además de ahorrar escritura, el with puede ahorrar llamadas a métodos? Por ejemplo en:
si Domicilio es una propiedad de la clase TPersona a la que se accede mediante un getter, éste se llamará dos veces. El uso con with:
reduce a una sóla llamada. Igual que el caso anterior, se puede usar una variable para evitar el doble acceso, pero resulta mucho más cómodo así. LineComment Saludos |
#3
|
||||
|
||||
¡Menudos ejemplos, Germán! Por supuesto que no tendría sentido usar el nuevo With en casos así.
Pero hay otros donde sí, como el de la imagen del primer mensaje (que parece que salió borrosa). Consideremos la siguiente comparativa: Sin With:
Con el nuevo With:
No es que busquemos ahorrar palabras. No es así de simple. Sino que los recursos que permitan simplificar código fuente de una manera elegante siempre debieran ser bienvenidos, salvo que no sean seguros. Como el riesgo es la desventaja del With actual, se propone hacerlo seguro conservando su elegancia. Incluso se añade una ventaja más: la de poder hacer referencia al objeto mismo dentro del bloque With (algo que la actual sintaxis no posee). Saludos aclaratorios. Al González. P.D. Se agradece el anterior mensaje, de Román, que ahora veo y suscribo. Última edición por Al González fecha: 20-09-2016 a las 22:13:30. |
#4
|
||||
|
||||
Sigo sin verle mucho sentido. En lugar de escribir var it: TForm2 tengo que escribir with. No son muchos caracteres que se ahorran, y se debe agregar un nivel de sangría adicional. Combinado con un bloque de protección de recursos (try-finally) y un bloque de manejo de excepciones (try-except) se tendrían 3 niveles de sangría. A mi ya dos me parece mucho
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Analogías entre C++ y Object Pascal | noob | C++ Builder | 3 | 16-02-2009 18:19:54 |
como usar object pascal y gtk | Lionheart | OOP | 6 | 09-12-2005 19:31:08 |
manual de excepciones de object pascal para free pascal??? | Garion | OOP | 3 | 27-05-2005 00:42:29 |
¿Object Pascal para todo? | ReigDidion | OOP | 10 | 12-02-2004 08:28:07 |
|