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

Kapanımlar tarafından yönlendirilen küçük bir veri işlem hattı oluşturun.

Üç satır okuyun:

  1. Bir tamsayı min
  2. Bir tamsayı scale
  3. Virgülle ayrılmış bir tamsayı listesi

İki kapanım fabrikası tanımlayın:

  • makeFilter(min: Int) -> (Int) -> Bool, min değerini yakalar ve n > min koşulunu denetleyen bir yüklem döndürür
  • makeScaler(by: Int) -> (Int) -> Int, by değerini yakalar ve bu değerle çarpma yapan bir işlev döndürür

Daha sonra önce filtreleyen, ardından dönüştüren bir pipeline(_ nums: [Int], filter: (Int) -> Bool, transform: (Int) -> Int) -> [Int] işlevi tanımlayın.

Üç satır yazdırın:

  1. Filtreden geçen sayılar, , ile birleştirilmiş olarak
  2. Ölçeklendirme sonrasındaki aynı sayılar, , ile birleştirilmiş olarak
  3. Ölçeklendirilmiş değerlerin toplamı

5 / 3 / 2,7,3,8,9 girdisi 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

Kendi başına pratik yap: Swift playground