Junior — Middle
Explique el concepto de cierres que no salen del ámbito en programación.
sobes.tech AI
Respuesta de la IA
En programación, un cierre es una función que captura y guarda referencias a variables del ámbito externo, incluso después de que ese ámbito ha finalizado su ejecución. La idea de cierres que no salen del ámbito significa que el cierre sigue teniendo acceso a esas variables, ya que no se destruyen mientras el cierre exista.
Por ejemplo, en Swift:
func makeIncrementer(amount: Int) -> () -> Int {
var total = 0
return {
total += amount
return total
}
}
let incrementByFive = makeIncrementer(amount: 5)
print(incrementByFive()) // 5
print(incrementByFive()) // 10
Aquí, el cierre guarda la variable total, que normalmente debería salir del ámbito después de ejecutar makeIncrementer. Pero gracias al cierre, total se mantiene y se modifica en cada llamada.
De esta forma, los cierres permiten mantener el estado y trabajar con variables del ámbito externo sin salir de él.