Junior — Middle
Explique ce que signifie la capture de variables à l'intérieur d'une fonction de fermeture.
sobes.tech IA
Réponse de l'IA
La capture de variables à l'intérieur d'une fonction de fermeture signifie que la fermeture "se souvient" et peut utiliser des variables du contexte environnant dans lequel elle a été créée.
Par exemple, si une variable est déclarée à l'intérieur d'une fonction, puis qu'une fonction qui utilise cette variable est renvoyée, cette variable est "capturée" par la fermeture et conserve sa valeur même après la sortie de la fonction externe.
Exemple en 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
Ici, la fermeture capture les variables total et amount, conservant leur état entre les appels. Cela permet de créer des fonctions avec un état interne.