Tekrar - Güvenli Açma
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 OperatörüBileşik AtamaTekrar - Basit MatematikKarşılaştırma Operatörleri7Temel Girdi/Çıktı
Print FonksiyonuDize EnterpolasyonuReadLine ile GirdiTür DönüşümüTekrar - 120'ye KadarTekrar - Doğru mu Yanlış mı10Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriArgüman EtiketleriTekrar - Sigma FonksiyonuTekrar - Doğrulama FonksiyonuVarsayılan Değerler13Diziler Üzerinde Yineleme
Öğeler Üzerinde YinelemeEnumerate YöntemiDizeler Üzerinde Yineleme P1Dizeler Üzerinde Yineleme P22Değişkenler
Let ve VarTür AnotasyonlarıSayılarStringBooleanAdlandırma KurallarıTekrar - Değişkenleri Başlat5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Tekrar - Basit MantıkMantıksal Operatörler Bölüm 3Üçlü Operatör8Hesap Bölüştürme Hesaplayıcısı
Karşılama MesajıGirdi Alma11FizzBuzz'a Farklı Bir Yorum
Oyuna Genel BakışFizzBuzz Fonksiyonu3Optional Değerler
Optional Değerler NedirIf Let ile AçmaGuard LetNil Birleştirme OperatörüTekrar - Güvenli Açma9Döngüler
For-In DöngüsüWhile DöngüsüRepeat-While DöngüsüBreakContinueTekrar - FaktöriyelDöngülerde Aralıklarİç İçe DöngüTekrar - Dinamik GirdiKendi başına pratik yap: Swift playground