İç İçe Döngülerden Çıkma
Birden çok döngü düzeyinden çıkmak için etiketleri kullanın.
İç İçe Döngülerden Çıkma, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 4 dersten oluşur.
İç İçe Döngü Sorunu
İç içe bir döngünün içindeki yalın break yalnızca iç döngüden çıkar ve dış döngünün çalışmasını sürdürür.
for i in 1...3 {
for j in 1...3 {
if j == 2 { break }
print(i, j)
}
}label ile Döngüden Çıkma Sorunu Çözer
Dış döngüye bir label ekleyin ve iki döngüden aynı anda çıkmak için break outer kullanın.
outer: for i in 1...3 {
for j in 1...3 {
if i == 2 && j == 2 { break outer }
print(i, j)
}
}
print("escaped")İki Boyutlu Bir Izgarada Arama
label içeren break, hedef bulunur bulunmaz iki boyutlu bir aramayı durdurmak için idealdir.
let grid = [[1, 2, 3], [4, 5, 6]]
var position = (-1, -1)
find: for r in 0..<grid.count {
for c in 0..<grid[r].count {
if grid[r][c] == 5 {
position = (r, c)
break find
}
}
}
print(position)label Olmadan: Bir Flag
label kullanmadan başka bir seçenek boole bir bayrak kullanmaktır; ancak bu yaklaşım daha uzundur ve hataya daha açıktır.
var stop = false
for i in 1...3 {
for j in 1...3 {
if i + j == 4 { stop = true; break }
print(i, j)
}
if stop { break }
}label Kullanımı Daha Sadedir
Flag değerleriyle karşılaştırıldığında label içeren break, amacı doğrudan ifade eder ve iç döngüden sonra ek denetimler yapılmasını önler.
outer: for i in 1...3 {
for j in 1...3 {
if i + j == 4 { break outer }
print(i, j)
}
}Üçlü İç İçe Yerleştirme
label'lar üç veya daha fazla düzeye ölçeklenebilir; çıkmanız gereken herhangi bir döngüyü hedefleyebilirsiniz.
top: for a in 1...2 {
for b in 1...2 {
for c in 1...2 {
if c == 2 { break top }
print(a, b, c)
}
}
}İç İçe Yapıda label ile Devam Etme
Derin bir iç yapıdan dış döngünün sonraki yinelemesine geçmek için continue label kullanın.
rows: for r in 1...3 {
for c in 1...3 {
if c == 2 { continue rows }
print(r, c)
}
}İkisini Birleştirme
İnce denetim sağlamak için aynı iç içe yapıda label içeren döngüden çıkma ve devam etme işlemlerini birlikte kullanabilirsiniz.
scan: for i in 1...3 {
for j in 1...3 {
if j == 1 { continue }
if i == 3 { break scan }
print(i, j)
}
}Erken Çıkma Performansı
Yanıtı bulur bulmaz çıkmak, büyük veri kümelerinde boşa yapılan yinelemeleri önler.
let data = Array(1...100)
var firstBig = -1
loop: for chunk in stride(from: 0, to: data.count, by: 10) {
for k in chunk..<min(chunk + 10, data.count) {
if data[k] > 25 {
firstBig = data[k]
break loop
}
}
}
print(firstBig)Bir İşlevden Dönme
Bir işlevin içinde return, tüm döngülerden aynı anda çıkmanın başka bir temiz yoludur.
func findPair(_ target: Int) -> (Int, Int)? {
for i in 1...5 {
for j in 1...5 {
if i * j == target { return (i, j) }
}
}
return nil
}
print(findPair(12) ?? (-1, -1))Yaklaşım Seçme
İç içe döngülerden bulundukları yerde çıkmak için label içeren break kullanmayı, bir işlevin içinde olup tamamen çıkmak istediğinizde ise return kullanmayı tercih edin.
outer: for x in 1...3 {
for y in 1...3 {
if x * y >= 4 { break outer }
print(x, y)
}
}Kısa Sınama
İç içe döngülerin denetimini sınayın.
Özet
Yalın bir break yalnızca en içteki döngüden çıkar. Dış döngüye label verip tüm düzeylerden aynı anda çıkmak için break label kullanın; bu, boole bir bayraktan daha temizdir. Bir işlevin içinde return da her şeyden çıkar.
outer: for i in 1...3 {
for j in 1...3 {
if j == 2 { break outer }
print(i, j)
}
}Yapay zeka eğitmeniyle Swift öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 122
- Dersler
- 409
Sıkça Sorulan Sorular
“İç İçe Döngülerden Çıkma” dersi ücretsiz mi?
Evet — “İç İçe Döngülerden Çıkma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 4 dersten oluşur.
“İç İçe Döngülerden Çıkma” dersinde ne öğreneceğim?
Birden çok döngü düzeyinden çıkmak için etiketleri kullanın. Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Swift Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“İç İçe Döngülerden Çıkma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- break ve continue Temelleri
- Etiketli Deyimler
- İç İçe Döngülerden Çıkma
- switch Bağlamında Döngü Denetimi