Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#7

AW: Result einer Funktion "Stil Frage"

  Alt 4. Nov 2012, 22:00
Am Beispiel von dem schon genannten "Sum" würd man schnell in einer Endlosschleife landen.
Denn "sum" wird nur bei Zuweisungen als Funktionsergebnis genommen und sonst ist es ein Aufruf.

Delphi-Quellcode:
Function Sum(const Values: TBytes): Integer;
var
  B: Byte;
begin
  Sum := 0; // entspricht Result :O 0;
  for B in Values do
    Sum := Sum + B; // hier würde es aber Result := Sum + B; sein, also ein rekursiver Aufruf
end;
Das führt zunächst erstmal zu einem Compilerfehler, da Sum einen Parameter erwartet. Nur bei parameterlosen Funktionen kommt es zur Rekursion mit baldigem Stackoverflow (und nicht zu einer Endlosschleife).
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat