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

Função Recursiva do Scala

Função Scala

As funções recursivas desempenham um papel importante em linguagens de programação funcional.

O Scala também suporta funções recursivas.

A função recursiva significa que a função pode se chamar a si mesma.

O exemplo acima usa a função recursiva para calcular o fatorial:

object Test {
   def main(args: Array[String]) {
      for (i <- 1 to 10)
         println(i + " o fatorial de: = " + fatorial(i) )
   }
   
   def fatorial(n: BigInt): BigInt = {  
      if (n <= 1)
         1  
      else    
      n * fatorial(n - 1)
   }
}

Execute o código acima e o resultado será:

$ scalac Test.scala
$ scala Test
1 o fatorial de: = 1
2 o fatorial de: = 2
3 o fatorial de: = 6
4 o fatorial de: = 24
5 o fatorial de: = 120
6 o fatorial de: = 720
7 o fatorial de: = 5040
8 o fatorial de: = 40320
9 o fatorial de: = 362880
10 o fatorial de: = 3628800

Função Scala