对于在Pascal中返回值的函数,使用赋值FunctionName := SomeVal;
。我假设它不会在C中的return
确切地停止函数执行。在Pascal中有类似于C return
的东西吗? (我正在使用FreePascal编译器)
答案 0 :(得分:13)
您可以使用退出程序。
function Foo (Value : integer) : Integer;
begin
Exit(Value*2);
DoSomethingElse(); // This will never execute
end;
答案 1 :(得分:1)
每个程序结尾的返回代码存储在EAX寄存器中。因此,您可以在Pascal上使用Assembly inline返回想要结束使用的程序运行的任何位置!
asm
mov eax,%ERROLEVEL%
end;
答案 2 :(得分:1)
在规范的 pascal(没有关键字 Exit)中,您可以通过 goto 模拟返回:
function Foo (Value : integer) : boolean;
label return;
begin
if Value < 0 then
begin
Foo := false;
goto return;
end;
Calc();
Foo := true;
return:
end;
答案 3 :(得分:0)
我认为你可以使用函数名称本身,"result"
或Exit()
,但我只使用result identifier
,所以不知道其他人是否会工作为你:
function Foo(a, b: Integer): Integer;
begin
result := a + b;
end;
希望有所帮助^^