Najlepszy samouczek zamknięcie Scala W 2024 r. W tym samouczku możesz dowiedzieć się zamknięcie Scala
Zamknięcie jest funkcją, która zwraca wartość zależną od zewnętrznego w deklaracji funkcji lub więcej zmiennych.
Zamknięcia Generalnie uważa się być po prostu inna funkcja wewnątrz funkcji można uzyskać dostęp do zmiennych lokalnych.
Ta anonimowa funkcja, jak następuje:
val multiplier = (i:Int) => i * 10
Ciało funkcji ma zmienną i, jako parametr funkcji. Kolejny kawałek kodu jak poniżej:
val multiplier = (i:Int) => i * factor
Istnieją dwie zmienne w mnożnika: I i czynnikiem. Gdzie ja to parametr formalny funkcji, funkcja jest wywoływana, gdy mnożnik, dano mi nową wartość. Jednakże czynnik ten nie jest formalne parametry, ale zmienne wolne, należy rozważyć następujące kody:
var factor = 3 val multiplier = (i:Int) => i * factor
Poniżej przedstawiamy bezpłatną współczynnik zmiennej, zmienna ta jest zdefiniowana poza funkcją.
zatem mnożnik zmienne funkcji zdefiniowano jako "zamknięcie", ponieważ to odnosi się do zmiennej w zakres definicji funkcji, określenie procesu tej funkcji jest uchwycić zmiennymi stanowią zamkniętą funkcji.
Kompletny przykład
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 }
Realizacja powyższego kodu, wyjście jest:
$ scalac Test.scala $ scala Test muliplier(1) value = 3 muliplier(2) value = 6