Nur als Bemerkung am Rande: in Free Pascal ist in den Modi
fpc und
objfpc der Funktionsname als "rvalue" erlaubt. Möchte man hier einen rekursiven Aufruf (bei einer parameterlosen Funktion), so muss ein leeres Klammerpaar angehängt werden.
Delphi-Quellcode:
program resulttest;
{$ifdef fpc}
{$mode objfpc}
{$endif}
{$apptype console}
function Sum: LongInt;
const
Values: array[0..4] of Byte = (
1, 2, 3, 4, 5
);
var
b: Byte;
begin
Sum := 0;
for b in Values do
Sum := Sum + b; // Sum() würde die Funktion rekursiv aufrufen
end;
begin
Writeln(Sum); // ergibt "15" und nicht "stack overflow" ;)
end.
Gruß,
Sven