Junior — Middle
Pouvez-vous expliquer le concept d'Autoclosure et comment il est utilisé dans le langage de programmation?
sobes.tech IA
Réponse de l'IA
L’autoclosure est un type spécial de fermeture en Swift, qui est créé automatiquement à partir d’une expression passée à une fonction. Il permet de retarder l’évaluation de l’expression jusqu’au moment de son utilisation dans la fonction, tout en conservant une syntaxe d’appel simple.
Par exemple, au lieu d’écrire explicitement une fermeture :
func logIfTrue(_ predicate: () -> Bool) {
if predicate() {
print("La condition est vraie")
}
}
logIfTrue({ 2 > 1 })
On peut utiliser autoclosure :
func logIfTrue(_ predicate: @autoclosure () -> Bool) {
if predicate() {
print("La condition est vraie")
}
}
logIfTrue(2 > 1) // L’expression est automatiquement enveloppée dans une fermeture
Cela améliore la lisibilité du code et permet de passer des expressions qui ne seront évaluées que si nécessaire.