Cita:
|
Empezado por jplj
Nunca me ha gustado usarla pues creo que genera un código poco legible, pero en su día creo haber leido que proporciona un código más optimo para el compilador, creando un ejecutable mejor.
|
La lógica indica que si lo que pones en el with es una función o un método de una clase, en ambos casos vamos a evaluar el resultado, el código de esta función / método / propiedad se ejecutará una sola vez. Por el contrario si llamamos a esta función / método / propiedad tantas veces como lo necesitemos, el código de este se ejecutará para cada llamado. Obviamente que esto lo podemos subsanar utilizando una simple variable. Si ves el código compilado, verás que es muy similar al utilizar una variable para la asignación.
Por otro lado es cierto lo que dice cadetill, es algo molesto para seguir el hilo de ejecución de una aplicación.