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。