Özet - Güvenli Unwrapping
Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası — ders 15 / 86.
Görev
KolayBir oyuncunun name, score ve level değerlerini dize (string) olarak alan ve biçimlendirilmiş bir oyuncu özeti döndüren bir formatPlayerInfo fonksiyonu yazın.
Eksik olabilecek değerleri işlemek için öğrendiğiniz üç açma (unwrapping) tekniğinin tümünü kullanın:
- İsmin geçerli (boş değil) olup olmadığını kontrol etmek için
guard letkullanın. Eğer isim boşsa, hemen"Unknown player"döndürün. - Eğer skor boşsa, varsayılan olarak
"0"skoru sağlamak için??(nil birleştirme) kullanın. - Seviyenin geçerli (boş değil) olup olmadığını kontrol etmek için
if letkullanın. Eğer bir değeri varsa, bunu çıktıya dahil edin; aksi takdirde seviye kısmını atlayın.
Çıktı Formatı:
- Eğer seviye sağlanmışsa:
"[name] - Score: [score], Level: [level]" - Eğer seviye boşsa:
"[name] - Score: [score]"
Parametreler:
name(String): Oyuncunun adı (boş dize nil'i temsil eder)score(String): Oyuncunun skoru (boş dize nil'i temsil eder)level(String): Oyuncunun seviyesi (boş dize nil'i temsil eder)
Döndürdüğü Değer: Oyuncunun bilgilerini içeren biçimlendirilmiş bir dize veya isim boşsa "Unknown player".
İpucu: Fonksiyonunuzun içinde boş dizelerin boş olup olmadığını kontrol ederek ve öyleyse nil atayarak bunları isteğe bağlı (optional) değerlere dönüştürün.
Kendin dene
func formatPlayerInfo(name: String, score: String, level: String) -> String {
// Kodu buraya yazın
}
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