funciones anidadas Scala
Lo que puedo definir una función en la Scala funciones de función definida dentro de una función llamada funciones locales.
Los siguientes ejemplos nos damos cuenta de la operación factorial, y el uso de las funciones incorporadas:
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) } }
Aplicación del código anterior, la salida es:
$ scalac Test.scala $ scala Test 1 1 2 6