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