İç İçe (Nested) Fonksiyonlar
Lisans:
Creative Commons
11.12.2020
tarihinde güncellendi
Bakabileceğiniz Etiketler:
Eğitmen:
Geleceği Yazanlar Ekibi
Şu ana kadar verdiğimiz tüm fonksiyon örnekleri global fonksiyonlardı yani bunların tanımı ve kullanımı global ölçekte idi (Programın tümü tarafından kullanılabilir). Swift’te ikinci bir imkan ise bir fonksiyonun gövdesi içinde başka bir fonksiyon tanımlamaktır. Bu tür fonksiyonlara ise iç içe (nested) fonksiyon adı verilir.
Fonksiyon içinde tanımlanan fonksiyonlar özel durumlar dışında dış dünyaya kapalıdır ve sadece tanımlandıkları fonksiyon içinde geçerlidirler.
ÖRNEK:
func Sec(par: Bool) -> (Int)-> Int {
func ekle(gelen: Int) -> Int { return gelen + 1 }
func cikar(gelen: Int) -> Int { return gelen - 1 }
return par ? ekle : cikar
}
var x = -5
let cc=Sec(par: x == (-5))
while x != 0
{
print("\(x)... ")
x = cc(x)
}
print("SIFIR!")
PROGRAMIN ÇIKTISI
-5...
-4...
-3...
-2...
-1...
SIFIR!