Sobes.tech
Junior — Middle

Spiega cosa significa catturare le variabili all'interno di una funzione di chiusura.

sobes.tech AI

Risposta dell'AI

La cattura delle variabili all'interno di una funzione di chiusura significa che la chiusura "ricorda" e può usare variabili dal contesto circostante in cui è stata creata.

Ad esempio, se all'interno di una funzione viene dichiarata una variabile e poi viene restituita una funzione che utilizza questa variabile, questa variabile viene "catturata" dalla chiusura e mantiene il suo valore anche dopo l'uscita dalla funzione esterna.

Esempio in Swift:

func makeIncrementer(amount: Int) -> () -> Int {
    var total = 0
    return {
        total += amount
        return total
    }
}

let incrementByTen = makeIncrementer(amount: 10)
print(incrementByTen()) // 10
print(incrementByTen()) // 20

Qui, la chiusura cattura le variabili total e amount, mantenendo il loro stato tra le chiamate. Questo permette di creare funzioni con stato interno.