Dla funkcji zwracającej wartość w Pascal używane jest przypisanie FunctionName := SomeVal;
. Zakładam, że nie zatrzymuje to wykonywania funkcji w tym samym miejscu co return
w C. Czy jest coś podobnego do C return
w języku Pascal? (Używam kompilatora FreePascal)Zwracanie wartości w Pascal
Odpowiedz
Możesz użyć procedury wyjścia.
function Foo (Value : integer) : Integer;
begin
Exit(Value*2);
DoSomethingElse(); // This will never execute
end;
+1, nigdy nie słyszałem o tej składni! Jednak może być dobrze wstawić linię po 'Wyjściu' z komentarzem, że linia po' Wyjściu' nie zostanie wykonana. – TLama
Mam to. :) +1, Rodrigo. –
+1 To jest dobra składnia, pomaga uniknąć strasznego kombo Wynik + wyjście. Zasadniczo odpowiednik "powrotu". – Thomas
Tylko dla FYI: Składnia 'FunctionName: = SomeVal;' jest przestarzała; obecna składnia to 'Result: = SomeVal;', gdzie 'Result' jest automatycznie dostępną zmienną odpowiedniego typu danych zgodną z deklaracją funkcji. Na przykład: 'function Test: Integer; Rozpocznij Wynik: = 10; koniec; '. –
Ken White: W Free Pascal wynik jest afaik obsługiwany tylko w Delphi i delficko-podobnych dialektach. (-S2/-Sd). Inne pascale nie przyjęły wyniku centrycznego Delphi, ani tylko dla trybów zgodności. Ostatni standard Pascala nadal dokumentuje ten –