Menu
Coddy logo textTech

Özet - Pipeline Oluşturucu

Coddy'nin Swift Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 43 / 56.

challenge icon

Görev

Orta

Closure'lar tarafından yönetilen küçük bir veri hattı (pipeline) oluşturun.

Üç satır okuyun:

  1. Bir tam sayı min
  2. Bir tam sayı scale
  3. Virgülle ayrılmış tam sayılardan oluşan bir liste

İki closure fabrikası tanımlayın:

  • makeFilter(min: Int) -> (Int) -> Bool: min değerini yakalar ve bir n > min yüklemi (predicate) döndürür
  • makeScaler(by: Int) -> (Int) -> Int: by değ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:

  1. Filtreden geçen sayılar, , ile birleştirilmiş şekilde
  2. Aynı sayıların ölçeklendirilmiş hali, , ile birleştirilmiş şekilde
  3. Ölçeklendirilmiş değerlerin toplamı

5 / 3 / 2,7,3,8,9 girişi için çıktı şöyledir:

7,8,9
21,24,27
72

Kendin 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