Scala 遞歸函數

Scala 函數 Scala 函數

遞歸函數在函數式編程的語言中起著重要的作用。

Scala 同樣支持遞歸函數。

遞歸函數意味著函數可以調用它本身。

以上實例使用遞歸函數來計算階乘:

object Test {
   def main(args: Array[String]) {
      for (i <- 1 to 10)
         println(i + " 的階乘為: = " + factorial(i) )
   }

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

執行以上代碼,輸出結果為:

$ scalac Test.scala
$ scala Test
1 的階乘為: = 1
2 的階乘為: = 2
3 的階乘為: = 6
4 的階乘為: = 24
5 的階乘為: = 120
6 的階乘為: = 720
7 的階乘為: = 5040
8 的階乘為: = 40320
9 的階乘為: = 362880
10 的階乘為: = 3628800

Scala 函數 Scala 函數