Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint

Rekursion

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.scala

def factorial_loop(i: BigInt): BigInt = {
  var result = BigInt(1)
  for (j <- 2 to i.intValue)
    result *= j
  result
}

for (i 

  

You are currently reading a PREVIEW of this book.

                                                                                        

Get instant access to over
$1 million worth of books and videos.

  

Start a Free Trial