Projeye Genel Bakış
Coddy'nin Swift Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 49 / 56.
İkinci proje bir bilgi yarışması motorudur. Durum (state), her biri birer (category, text, answer) demeti (tuple) olan soruların bir listesidir:
var questions: [(String, String, String)] = [
("math", "2 + 2?", "4"),
("geo", "Capital of France?", "paris")
]Gelecek dört ders boyunca özellikleri teker teker ekleyeceksiniz:
- Sorular ekleyin ve bunları sırayla sorun
- Cevapları puanlayın (büyük/küçük harf duyarsız, kırpılmış)
- Kategoriye göre filtreleyin
- Çalışmayı kategori bazlı bir dökümle özetleyin
Habit Tracker gibi, her ders bağımsızdır; her dosyanın başında soru bankasını yeniden oluşturacaksınız.
Görev
BaşlangıçBaşlamak için veri kurulum kodunu yazın:
- Boş bir soru dizisi (
[(String, String, String)]) başlatın - Sayısını (count) yazdırın
- Dizinin boş olup olmadığını (isEmpty) yazdırın
Beklenen çıktı şudur:
0
trueKopya kağıdı
Bir bilgi yarışması motoru, soruları (category, text, answer) içeren bir demet (tuple) listesi olarak saklar:
var questions: [(String, String, String)] = [
("math", "2 + 2?", "4"),
("geo", "Capital of France?", "paris")
]Faydalı dizi özellikleri:
questions.count // eleman sayısı
questions.isEmpty // eleman yoksa trueKendin dene
// TODO: questions adında boş bir [(String, String, String)] tanımlayın,
// ardından count ve isEmpty değerlerini yazdırın
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1Stringler Derinlemesine
Sayma ve İndekslerBüyük-Küçük Harf ve KırpmaStringlerde AramaBölme ve BirleştirmeAlt Stringleri DeğiştirmeÖzet - Kullanıcı Adı Kontrolü4Kümeler
Küme OluşturmaBirleşim ve KesişimFark ve Simetrik FarkAlt Küme ve Üst KümeÖzet - Etiket Filtresi7Proje - Alışkanlık Takibi
Projeye Genel BakışTamamlandı Olarak İşaretle10Proje - Quiz Motoru
Projeye Genel BakışSoruları Sorma2Aralıklar ve Adımlar
Kapalı ve Yarı AçıkStride (Adım)Aralık MetotlarıSwitch İçinde AralıklarÖzet - Takvim Izgarası5Yüksek Mertebeden Fonksiyonlar Bölüm 1
MapFilterReduceMap, filter, reduce zincirlemeÖzet - Kelime İstatistikleri