Özet - Pipeline Oluşturucu
Coddy'nin Swift Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 43 / 56.
Görev
OrtaClosure'lar tarafından yönetilen küçük bir veri hattı (pipeline) oluşturun.
Üç satır okuyun:
- Bir tam sayı
min - Bir tam sayı
scale - Virgülle ayrılmış tam sayılardan oluşan bir liste
İki closure fabrikası tanımlayın:
makeFilter(min: Int) -> (Int) -> Bool:mindeğerini yakalar ve birn > minyüklemi (predicate) döndürürmakeScaler(by: Int) -> (Int) -> Int:bydeğerini yakalar ve onunla çarpan bir fonksiyon döndürür
Ardından, önce filtreleyen, sonra dönüştüren bir pipeline(_ nums: [Int], filter: (Int) -> Bool, transform: (Int) -> Int) -> [Int] fonksiyonu tanımlayın.
Üç satır yazdırın:
- Filtreden geçen sayılar,
,ile birleştirilmiş şekilde - Aynı sayıların ölçeklendirilmiş hali,
,ile birleştirilmiş şekilde - Ölçeklendirilmiş değerlerin toplamı
5 / 3 / 2,7,3,8,9 girişi için çıktı şöyledir:
7,8,9
21,24,27
72Kendin dene
let minVal = Int(readLine()!)!
let scale = Int(readLine()!)!
let nums = readLine()!.components(separatedBy: ",").map { Int($0)! }
// YAPILACAKLAR: closure döndüren makeFilter / makeScaler; pipeline(_:filter:transform:);
// ardından filtrelenmiş, ölçeklenmiş değerleri ve ölçeklenmişlerin toplamını yazdırın
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 İstatistikleri8Closure'lar
Closure TemelleriTrailing Closure'larDeğer YakalamaClosure DöndürmeÖzel Yüksek Seviyeli FonksiyonlarÖzet - Pipeline Oluşturucu