Scala Recursive 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