Рекурсивные функции 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