fonctions imbriquées Scala
Ce que je peux définir une fonction dans les fonctions de fonctions définies Scala dans une fonction appelée fonctions locales.
Les exemples suivants, nous réalisons l'opération factorielle, et utiliser les fonctions intégrées:
object Test { def main(args: Array[String]) { println( factorial(0) ) println( factorial(1) ) println( factorial(2) ) println( factorial(3) ) } def factorial(i: Int): Int = { def fact(i: Int, accumulator: Int): Int = { if (i <= 1) accumulator else fact(i - 1, i * accumulator) } fact(i, 1) } }
Mise en œuvre du code ci-dessus, la sortie est:
$ scalac Test.scala $ scala Test 1 1 2 6