El mejor tutorial de cierre Scala en 2024. En este tutorial podrás aprender cierre Scala
El cierre es una función que devuelve un valor dependiente de la declaración externa en una función o más variables.
Los cierres generalmente considerados como simplemente otra función dentro de una función puede acceder a las variables locales.
Esta función anónima como la siguiente:
val multiplier = (i:Int) => i * 10
cuerpo de la función tiene una variable i, como un parámetro de la función. Otra pieza de código como el siguiente:
val multiplier = (i:Int) => i * factor
Hay dos variables en el multiplicador: i y factor. Donde i es un parámetro formal de la función, la función se llama cuando el multiplicador, me dieron un nuevo valor. Sin embargo, no es factor de los parámetros formales, pero las variables libres, considere los siguientes códigos:
var factor = 3 val multiplier = (i:Int) => i * factor
Aquí introducimos un factor variable libre, esta variable se define fuera de la función.
variables de la función de multiplicador de este modo definen como un "cierre", porque se refiere a una variable fuera de la definición de la función, la definición del proceso de esta función es capturar las variables libres constituyen una función cerrada.
ejemplo completo
object Test { def main(args: Array[String]) { println( "muliplier(1) value = " + multiplier(1) ) println( "muliplier(2) value = " + multiplier(2) ) } var factor = 3 val multiplier = (i:Int) => i * factor }
Aplicación del código anterior, la salida es:
$ scalac Test.scala $ scala Test muliplier(1) value = 3 muliplier(2) value = 6