Döngülerde Aralıklar
Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası — ders 48 / 86.
Döngülerinizde 1...5 gibi aralıklar kullanıyordunuz, ancak Swift bu aralıkları tanımlama şeklinizde daha fazla esneklik sunar. Farklı aralık türlerini ve geriye doğru saymak için kullanışlı bir tekniği keşfedelim.
Kapalı aralık operatörü (...) her iki uç noktayı da içerir:
for i in 1...3 {
print(i)
}
// Çıktı: 1, 2, 3Yarı açık aralık operatörü (..<) üst sınırı hariç tutar; bu, özellikle sıfır tabanlı dizinlerle çalışırken kullanışlıdır:
for i in 0..<3 {
print(i)
}
// Çıktı: 0, 1, 2Bazen ters sırada döngü kurmanız gerekir. reversed() metodu, bir aralık boyunca geriye doğru yineleme yapmanızı sağlar:
for i in (1...3).reversed() {
print(i)
}
// Çıktı: 3, 2, 1Aralığın etrafındaki parantezlere dikkat edin; bir aralık üzerinde reversed() çağrısı yaparken bunlar gereklidir. Bu teknik, geri sayımlar veya öğeleri sondan başa doğru işlemeniz gerektiği durumlar için mükemmeldir.
Görev
Kolayn değerini alan ve n'den 1'e kadar geri sayımı içeren, ardından "Go!" ifadesi gelen bir dize döndüren bir countdown fonksiyonu yazın.
Geriye doğru yineleme yapmak ve geri sayım dizesini oluşturmak için bir aralık üzerinde reversed() metodunu kullanın.
Mantık:
1'denn'e kadar bir aralık oluşturun ve bunu tersine çevirin- Her bir sayının yeni bir satırla ayrıldığı bir dize oluşturun
- Son satıra "Go!" ekleyin
Parametreler:
n(Int): Geri sayım için başlangıç sayısı (1 veya daha büyük)
Döndürdüğü Değer: Her geri sayım sayısının kendi satırında olduğu ve "Go!" ile biten bir dize (String). Format:
3
2
1
Go!Örneğin, n değeri 3 ise, fonksiyon "3\n2\n1\nGo!" döndürür.
Kopya kağıdı
Swift, döngüler için iki aralık operatörü sağlar:
Kapalı aralık operatörü (...) her iki uç noktayı da içerir:
for i in 1...3 {
print(i)
}
// Çıktı: 1, 2, 3Yarı açık aralık operatörü (..<) üst sınırı hariç tutar:
for i in 0..<3 {
print(i)
}
// Çıktı: 0, 1, 2Bir aralıkta geriye doğru ilerlemek için reversed() metodunu kullanın:
for i in (1...3).reversed() {
print(i)
}
// Çıktı: 3, 2, 1Not: reversed() metodunu çağırırken aralığın parantez içine alınması gerekir.
Kendin dene
func countdown(n: Int) -> String {
// Kodu buraya yazın
}
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüBileşik AtamaÖzet - Basit MatematikKarşılaştırma Operatörleri7Temel Giriş/Çıkış
Print FonksiyonuString InterpolationReadLine GirişiTür DönüşümüÖzet - 120'ye KadarÖzet - Doğru veya Yanlış10Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriArgüman EtiketleriÖzet - Sigma FonksiyonuÖzet - Doğrulama FonksiyonuVarsayılan Değerler13Diziler Üzerinde Yineleme
Elemanlar Üzerinde YinelemeEnumerate MetoduStringler Üzerinde Yineleme P1Stringler Üzerinde Yineleme P22Değişkenler
Let vs VarTip BelirteçleriSayılarStringBooleanİsimlendirme KurallarıÖzet - Değişkenleri Başlatma5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 3Ternary Operatör8Hesap Paylaşım Hesaplayıcısı
Hoş Geldiniz MesajıGirdi Alma14İleri Seviye Diziler
Dizi Dilimleme Bölüm 1Dizi Dilimleme Bölüm 2Sıralı Yapı OperatörleriContains Metodu3Opsiyoneller
Opsiyoneller NedirIf Let ile UnwrappingGuard LetNil Coalescing OperatörüÖzet - Güvenli Unwrapping6Karar Yapıları
If İfadesiIf - ElseÖzet - Basit Hesap MakinesiSwitch İfadesiAralıklı Switch Kullanımı9Döngüler
For-In DöngüsüWhile DöngüsüRepeat-While DöngüsüBreakContinueÖzet - FaktöriyelDöngülerde Aralıklarİç İçe DöngülerÖzet - Dinamik Girdi