2012-03-09 7 views
8

パスカルで値を返す関数では、代入FunctionName := SomeVal;が使用されます。私はそれがCでのreturnと同じ正確な場所で関数の実行を停止しないと仮定します。パスカルにC returnと似たものがありますか? (私はFreePascalコンパイラを使用しています)パスカルで値を返す

+1

FYI: 'FunctionName:= SomeVal;'構文は古いものです。現在のシンタックスは 'Result:= SomeVal;'であり、 'Result'は関数宣言と一致する適切なデータ型の自動的に利用可能な変数です。たとえば、次のようになります。 'function Test:Integer;開始結果:= 10;終わり。 –

+3

Ken White:Free Pascalでは、結果はafphiはDelphiやdelphiのような方言でのみサポートされています。 (-S2/-Sd)である。他のパスカルは、どちらもデルファイ中心の結果を採用していないか、互換モードのみを採用しています。最後のPascal標準ではまだこの文法について聞いたことがなく、 –

答えて

10

終了プロシージャを使用できます。

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

+1と書かれています。しかし、 'Exit'の後にある行をいくつかのコメントをつけて' Exit'の後の行を実行しないことをお勧めします。 – TLama

+1

私はそれを得た。 :) +1、ロドリゴ。 –

+1

+1これは素晴らしい構文です。恐ろしいResult + Exitコンボを避けるのに役立ちます。基本的には「返品」と同等です。 – Thomas