Skip to content

Adios Result: Nombre de la función como resultado

Estamos acostumbrados a realizar el código de una función como el siguiente ejemplo:

function GetText(): string;
begin
  Result := 'devolvemos este texto';
end;

Donde sabemos que Result es una variable del mismo tipo de la función donde retornamos los datos deseados.

Pero la pequeña parte interesante que quiero mostrarte es que también podemos retornar el mismo valor a través del nombre de la función “GetText“.

function GetText(): string;
begin
  GetText := 'devolvemos este texto';
end;

Este tipo de declaración es bastante bien soportado en Delphi, creo que es parte de la especificación original de Pascal, y podemos usar el refactorizador de renombrado.

Esto es un poco inusual, normalmente se usa “Result“, pero es posible que tengas un procedimiento grande y en algún lugar alguien haya hecho algo como esto y miras a través del procedimiento y ves que en todas partes donde se establece “Result” está exactamente como quieres, pero te has perdido este “GetText” y tardaras horas en debuguearlo

Solo lo he visto en códigos bastante antiguos, por lo menos yo, no he utilizado esta sintaxis en mucho tiempo, pero puedes encontrarte con esto en algún código y te puede sorprender si no lo esperabas.