Sobes.tech
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.