Latest web development tutorials

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