English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Рекурсивные функции в Scala

Функции Scala

Рекурсивные функции играют важную роль в языках программирования функционального программирования.

Scala также поддерживает рекурсивные функции.

Рекурсивная функция означает, что функция может вызывать herself.

В данном примере используется рекурсивная функция для вычисления факториала:

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