FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Unterbereich Grundstudium / Praktische Informatik

Rekursion ohne define

Rekursion ohne define 2004-02-12 11:12
Spaceman
Kann mir jemand erklären wie folgende Funktion genau funktioniert. Sie berechnet die Faktutält ok, aber wie das genau funzt ist mir noch nicht klar:

( (lambda (n) ((lambda (fact-iter) (fact-iter fact-iter 1 1)) (lambda (f-i product counter) (if (> counter n) product (f-i f-i (* counter product) (+ counter 1))))))4)

Re: Rekursion ohne define 2004-02-12 12:10
GroßerSchöpfer
Der Trick dabei ist, das die innerste Funktion sich selbst als Parameter übergeben bekommt, sie wird dann an einen Namen (in diesem fall f-i) gebunden und kann sich so selbst aufrufen; damit ist die Recursion perfekt.