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
Código Delphi
[-]
with TAlgunFormulario.Create do
begin
ShowModal;
end;
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:
Código Delphi
[-]
Persona.Domicilio.Calle := 'Av. Principal';
Persona.Domicilio.Numero := 1;
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:
Código Delphi
[-]
with Persona.Domicilio do
begin
Calle := 'Av. Principal';
Numero := 1;
end;
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