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

Fonction récursive Scala

Fonction Scala

Les fonctions récursives jouent un rôle important dans les langages de programmation fonctionnels.

Scala supporte également les fonctions récursives.

Une fonction récursive signifie que la fonction peut s'appeler elle-même.

L'exemple suivant utilise une fonction récursive pour calculer le factoriel :

object Test {
   def main(args: Array[String]) {
      for (i <- 1 to 10)
         println(i + 「 」le factoriel de: = + factorial(i) )
   }
   
   def factorial(n: BigInt): BigInt = {  
      if (n <= 1)
         1  
      else    
      n * factorial(n - 1)
   }
}

Exécuter le code suivant, le résultat est :

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

Fonction Scala