Возврат значения в Паскале - PullRequest
10 голосов
/ 10 марта 2012

Для функции, возвращающей значение в Паскале, используется присвоение FunctionName := SomeVal;. Я предполагаю, что это не останавливает выполнение функции в том же месте, как return в Си Есть ли что-то похожее на C return в Паскале? (Я использую компилятор FreePascal)

Ответы [ 3 ]

13 голосов
/ 10 марта 2012

Вы можете использовать процедуру выхода.

function Foo (Value : integer) : Integer;
begin      
  Exit(Value*2);
  DoSomethingElse();   // This will never execute
end; 
1 голос
/ 24 декабря 2018

Код возврата конца каждой программы сохраняется в регистре EAX. Таким образом, вы можете использовать ассемблер, встроенный в Pascal, чтобы вернуться туда, где вы хотите завершить работу программы, используя!

 asm
 mov eax,%ERROLEVEL%
 end; 
0 голосов
/ 02 мая 2018

Я думаю, что вы можете использовать либо само имя функции, "result", либо Exit(), но я использовал только result identifier, поэтому не знаю, будут ли другие работать на вас:

function Foo(a, b: Integer): Integer;
begin
    result := a + b;
end;

Надеюсь, это поможет ^^

...