Junior — Middle
Programlama bağlamında Auto Closure ile ne kastedildiğini açıklayabilir misiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Auto Closure, Swift'te otomatik olarak bir ifadeyi kapanışa (closure) sarmaya olanak tanıyan bir mekanizmadır. Bu, açıkça bir kapanış iletmek yerine, yalnızca çağrıldığında değerlendirilecek bir ifadeyi iletebileceğiniz anlamına gelir.
Avantajlar:
- Ertelenmiş hesaplama: ifade hemen hesaplanmaz, yalnızca gerekildiğinde.
- Söz dizimi kolaylığı: kod daha temiz ve basit hale gelir.
Örnek:
func logIfTrue(_ predicate: @autoclosure () -> Bool) {
if predicate() {
print("Koşul doğru")
}
}
logIfTrue(2 > 1) // 2 > 1 ifadesi otomatik olarak kapanışa sarılır
Burada, 2 > 1 hemen çağrı sırasında hesaplanmaz, sadece fonksiyon içinde predicate() çağrıldığında hesaplanır.