Funktionsresultat und Rekursion

09/10/2008 - 21:54 von Markus Wichmann | Report spam
Hi all,

in dcldm (.delphi.misc) kam gerade eine Frage auf, die ich mal nach hier
weiterleiten möchte: In Pascal weist man ja in einer Funktion das
Resultat dem Identifier dieser Funktion zu. Dieser Identifier agiert in
der Funktion wie eine Variable vom Ergebnistyp der Funktion. Nun kam
aber die Frage auf, was denn geschieht, wenn die Funktion keine
Parameter hat. Solange sie Parameter hat, kann man über den Identifier
ohne was auf das Resultat zugreifen. Aber ohne Parameter muss man ja
keine Parameterliste angeben. Wie kann man da zwischen einem Aufruf und
einem Zugriff auf das Resultat unterscheiden?

Ein Beispiel:

function bla:boolean;
begin
bla := (randbedingung);
while bla do begin
{irgendwas}
end;
end;

Sehr simples Beispiel, aber wie kann man bei dem Zugriff im
Schleifenkopf Rekursion vermeiden?

Tschö,
Markus

P.S.: Compiler: FPC 2.2.2
P.P.S.: Konkret war ich gerade dabei, die Nachteile von "Result" zu
erörtern, aber es scheint, als hàtte "result" hier einen Vorteil, der
bisher nicht auffiel.
Nur weil ein Genie nix reißt, muß ja nun nicht gleich jeder Idiot
pausieren... Bully hats ja auch geschafft.
 

Lesen sie die antworten

#1 Jürgen Lerch
10/10/2008 - 16:05 | Warnen spam
Saluton!

On Thu, 9 Oct 2008 21:54:36 +0200, Markus Wichmann wrote:
function bla:boolean;
begin
bla := (randbedingung);
while bla do begin
{irgendwas}
end;
end;
Sehr simples Beispiel, aber wie kann man bei dem Zugriff im
Schleifenkopf Rekursion vermeiden?



Im Zweifelsfall indem man eine lokale Variable als
Zwischenspeicher bemüht.

Ad Astra!
JuL

/ Work like you don't need the money
Jürgen ,,JuL'' Lerch / Dance like no one was watching
/ Love like you've never been hurt
/ - ?

Ähnliche fragen