Closures - Kapatmalar - 1


Closures - Kapatmalar

// C - Objective-c Blocks, Diğer dillerdeki lampda
//Fonksiyonlara benzer
Global ve iç içe kullanılmış fonksiyonlar aslında kapatmaların özel halleridir. Global fonksiyonlar adı olan fakat değer almayan kapatmalardır. İç içe (nested) fonksiyonlar ise ismi olan ve değer kullanan kapatmalardır.

Normal kapatmalar ise isimsiz olarak kullanılan kapatmalardır.
let sehirler = ["Adana","Adıyaman","Ankara","Denizli","Bursa", "Eskişehir","Çanakkale"]
func sirala(s1:String,s2:String)->Bool
{
return s1 < s2
}
var yenidenSirala = sehirler.sorted(by:sirala)
//print(yenidenSirala)
//{ (parameters)-> Dönüş tipi in
// kodlarımız
//}

Closure en uzun hali

yenidenSirala = sehirler.sorted(by:{(s1:String, s2:String)->Bool in return s1 < s2})
//Daha iyi hali Değişken tipini ve dönüş değerini Swift anlar
yenidenSirala = sehirler.sorted(by:{s1,s2 in return s1 < s2})

Daha da iyi olan versiyon

yenidenSirala = sehirler.sorted(by:{s1,s2 in s1 < s2})

Daha da iyi olan versiyon

yenidenSirala = sehirler.sorted(by:{$0 < $1})

Operatör Method

yenidenSirala = sehirler.sorted(by: <)
print(yenidenSirala)