Forum: Object-Pascal / Delphi-Language
Delphi
by Khabarakh,
1. Nov 2008
Tja, einen Rekursionstod muss man sterben ;) . Bei alzaimers Version wär dir schon viel früher der Stack ausgegangen. Mit Tail-Calls und Continuations hab ich das Problem vom Stack auf den Heap verschoben, der ist aber leider auch nicht unendlich :angel2: .
Wenn man allerdings beide Methoden mischen würde... *g*
Forum: Object-Pascal / Delphi-Language
Delphi
by Khabarakh,
31. Okt 2008
Kommt Leute, es kann doch nicht sein, dass wir alle unsere Kreativität für ein Problem verschwenden. Für unser aller Wohl habe ich mal einen Webservice erstellt, der uns die harte Arbeit abnimmt. Er basiert auf alzaimers wunderschöner Rekursion und meiner Tail-Call-Verbesserung.
Interaktiv testbar unter http://honoghr.de/Services/NegateService.asmx
Forum: Object-Pascal / Delphi-Language
Delphi
by Khabarakh,
30. Okt 2008
Keine Tail Recursion (auf die deutsche Übersetzung verzichte ich mal)? Also bitte.
function MakeNegative(const aNumber: Integer): Integer;
function Loop(const aNumber: Integer; const aContinuation: TFunc<Integer, Integer>): Integer;
begin
if aNumber > 0 then
Result := Loop(aNumber-1,
function(X: Integer): Integer
begin
Result :=...