Swift’te嵌套函数Kullanımı

Swift’teaşağıdakigibifonksiyonlarımızvar。

  func birSeyYap(){ 

} func baskaBirSeyDahaYap(){

}

Bu iki fonksiyonuiçeyazdığımızdabuna嵌套函数diyoruz。 Nasılmı?

  func birSeyYap(){ 
func baskaBirSeyDahaYap(){

}
}

常见问题解答Birincisiningövdesiolmuşdurumda。 Başkabirörneğebakalım。

 func isimAl(_ isim:String){ 
func selamSoyle(){

打印(“ Selam \(isim)!”)
}

} isimAl(“ Ali”)

Yukarıdakikodbloğunuçalıştırdığımdabeklediğimsonucualamıyorum。 Çünkü,ikinci fonksiyonutanımladımamaçağırmadım。

  func isimAl(_ isim:String){ 
func selamSoyle(){

打印(“ Selam \(isim)!”)
}
selamSoyle()

} isimAl(“ Ali”)

Peki bu selamSoyle fonksiyonunubaşkabir yerde kullanabilir miyim diyedüşünüyorumamaaklıma范围geliyor。 Maalesef(?)bu fonksiyonu kendisınırlarıiçerisindekullanabilirim。
Biraz daha ileriye gidelim,嵌套函数可以返回ekleyelim.Öncelikle和basitindenbaşlayalım。

  func kimden(_ isim:String)->字符串{return“ \(isim)'dan” 
} func kime(_ kisi:String)-> String {
返回“ selamsöyleyin\(kisi)'ne”
}让koroglu = kimden(“Köroğlu”)
let boluBeyi = kime(“ Bolu Beyi”)print(“ \(koroglu)\(boluBeyi)”)

Yukarıdakiiki fonksiyonu嵌套yapmak istiyorum。 Amanasıl?Öncelikleilk fonksiyonumuolduğugibiyazıyorum。

  func kimden(_ isim:String)->字符串{return“ \(isim)'dan” 
}

Sonra ikinci fonksiyonumuiçeriyekaydırıyorum。

  func kimden(_ isim:String)->字符串{func kime(_ kisi:String)-> String { 
返回“ selamsöyleyin\(kisi)'ne”
}返回“ \(isim)'dan”
}

返回değerleriniaşağıdakigibidüzenliyorum。

  func kimden(_ isim:String)->字符串{func kime(_ kisi:String)-> String { 
return(“ \(isim)'dan selamsöyleyin\(kisi)'ye”)
} return kime(_ :)
}

达哈·比梅迪(Daha bitmedi)。 我的名字是我的。 Peki ikincisinenasılparametregöndereceğim。 Yukarıdadeğindiğimüzereikinci fonksiyonusınırlarıdşındakullanamıyorum。 密码是parametre atamam gerekiyor。 Onu daşuşekildeyapıyorum。

  func kimden(_ isim:String)->(((String)-> String){func kime(_ kisi:String)-> String { 

return(“ \(isim)'dan selamsöyleyin\(kisi)'ye”)
}
返回kime(_ :)
}

Bunu kullanmak iseartıkbasittir。

 让koroglu = kimden(“Köroğlu”) 
打印(koroglu(“ Bolu Beyi”))

Şuradanalınmıştır。