Cita:
Empezado por Casimiro Notevi
Está curioso, es realmente para devolver parámetros. Y para evitar el problema que mencionas, ¿no se le puede pasar un valor por defecto?
|
Pero entonces ya no sería "OUT" sino "VAR".
De todas formas yo tengo como costumbre asignar un valor de retorno en la primera línea de las funciones. De esa forma si olvido un ELSE o similar, el daño es menor. Siguiendo con el ejemplo:
Código Delphi
[-]FUNCTION Funcion (CONST Entrada: STRING; OUT Salida: STRING): BOOLEAN;
BEGIN
Salida := '';
RESULT := FALSE;
IF Entrada <> '' THEN Salida := 'Hay entrada';
RESULT := Length (Entrada) > 5;
END;
Et voilá!
Claro que lo ideal siempre es no olvidarse nunca de los ELSE y los TRY .. FINALLY, pero en ocasiones merece la pena.