Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Rekursionen spielen in der reinen funktionalen Programmierung eine größere Rolle als in der imperativen Programmierung; dies liegt teilweise an der Restriktion, dass Variablen unveränderbar sind. Beispielsweise kann man keine Schleifenzähler verwenden, die sich bei jedem Durchlaufen einer Schleife verändern. Eine Möglichkeit, Schleifen in einer rein funktionalen Weise zu implementieren, ist die Anwendung der Rekursion.
Ein gutes Beispiel ist die Berechnung von Fakultäten. Hier sehen Sie eine imperative Implementierung mit einer Schleife:
// code-examples/FP/recursion/factorial-loop-script.scaladeffactorial_loop(i:BigInt):BigInt= {varresult =BigInt(1)for(j<-2to i.intValue) result *= j result }for(i