Easy Tutorial
❮ Scala Pattern Matching Functions Call By Name ❯

Scala Recursive Functions

Scala Functions

Recursive functions play an important role in functional programming languages.

Scala also supports recursive functions.

A recursive function means that the function can call itself.

The above example uses a recursive function to calculate the factorial:

object Test {
   def main(args: Array[String]) {
      for (i <- 1 to 10)
         println(i + "'s factorial is: = " + factorial(i) )
   }

   def factorial(n: BigInt): BigInt = {  
      if (n <= 1)
         1  
      else    
      n * factorial(n - 1)
   }
}

Executing the above code, the output results are:

$ scalac Test.scala
$ scala Test
1's factorial is: = 1
2's factorial is: = 2
3's factorial is: = 6
4's factorial is: = 24
5's factorial is: = 120
6's factorial is: = 720
7's factorial is: = 5040
8's factorial is: = 40320
9's factorial is: = 362880
10's factorial is: = 3628800

Scala Functions

❮ Scala Pattern Matching Functions Call By Name ❯