2012-03-09 27 views
8

Para que una función devuelva un valor en Pascal, se utiliza la asignación FunctionName := SomeVal;. Supongo que no detiene la ejecución de la función en ese lugar exacto como return en C lo hace. ¿Hay algo similar a C return en Pascal? (Estoy usando el compilador FreePascal)Devolver un valor en Pascal

+1

Sólo FYI: El 'nombrefunción: = SomeVal;' sintaxis es anticuado; la sintaxis actual es 'Result: = SomeVal;', donde 'Result' es una variable disponible automáticamente del tipo de datos adecuado para coincidir con la declaración de la función. Por ejemplo: 'function Test: Integer; comenzar Resultado: = 10; fin; '. –

+3

Ken White: en Free Pascal, el resultado es afaik solo compatible con Delphi y dialectos tipo delphi. (-S2/-Sd). Otros Pascal no han adoptado el resultado céntrico de Delphi, o solo para los modos de compatibilidad. El último estándar de Pascal todavía documenta este –

Respuesta

10

Puede usar el procedimiento Salir.

function Foo (Value : integer) : Integer; 
begin  
    Exit(Value*2); 
    DoSomethingElse(); // This will never execute 
end; 
+1

+1, ¡nunca se ha escuchado sobre esta sintaxis! Sin embargo, podría ser bueno poner una línea después de la 'Exit' con algún comentario de que la línea después de 'Exit' no se realizará. – TLama

+1

Lo tengo. :) +1, Rodrigo. –

+1

+1 esta es una buena sintaxis, ayuda a evitar el temido combo Result + Exit. Básicamente el equivalente de "retorno". – Thomas

Cuestiones relacionadas