17 Stimmen

Rückgabe eines Wertes in Pascal

Damit eine Funktion in Pascal einen Wert zurückgibt, muss die Zuweisung FunctionName := SomeVal; verwendet wird. Ich nehme an, dass die Ausführung der Funktion nicht genau an dieser Stelle gestoppt wird, da return in C tut. Gibt es etwas Ähnliches wie in C return in Pascal? (Ich verwende den FreePascal Compiler)

16voto

RRUZ Punkte 132753

Sie können das Exit-Verfahren verwenden.

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

1voto

Victor Melo Punkte 190

Der Rückgabecode des Programmendes wird im EAX-Register gespeichert. Sie können also Assembly inline in Pascal verwenden, um dorthin zurückzukehren, wo Sie das laufende Programm beenden wollen!

 asm
 mov eax,%ERROLEVEL%
 end;

1voto

saybooboo Punkte 11

In kanonischem Pascal (ohne das Schlüsselwort Exit) können Sie die Rückkehr über goto emulieren:

   function Foo (Value : integer) : boolean;
   label return;
   begin      
      if Value < 0 then
      begin
          Foo := false;
          goto return;
      end;
      Calc();
      Foo := true;
   return:
   end;

0voto

Khang Punkte 141

Ich denke, Sie können entweder den Funktionsnamen selbst verwenden, "result" , oder Exit() aber ich habe nur die result identifier Daher weiß ich nicht, ob die anderen für Sie geeignet sind:

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

Hoffentlich hilft das ^^

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X