Swift Academy · Lektion

Intervall som kollektioner

Använd map och filter på intervallssekvenser.

Lektion 4 av 413 steg

Intervall som kollektioner är en gratis lektion i Swift Academy på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Swift Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Swift Academy innehåller totalt 4 lektioner.

Intervall är sekvenser

Ett intervall är mer än ett spann av tal; det är en sekvens som Ni kan omforma med samlingsmetoder som map och filter.

let squares = (1...5).map { $0 * $0 }
print(squares)

Mappa ett intervall

(1...n).map { ... } omvandlar varje tal till ett nytt värde och producerar en array. Observera parenteserna runt intervallet.

let doubled = (1...4).map { $0 * 2 }
print(doubled)

Varför parenteserna behövs

Ni måste omsluta intervallet med parenteser innan Ni anropar en metod, annars tolkar Swift syntaxen fel. (1...5).map är korrekt.

let labels = (1...3).map { "Item \($0)" }
print(labels)

Filtrera ett intervall

filter behåller endast värden som uppfyller ett villkor och returnerar en array med matchningarna.

let evens = (1...10).filter { $0 % 2 == 0 }
print(evens)

Reducera ett intervall

reduce kombinerar alla värden till ett enda värde. Här summerar vi talen 1 till och med 100.

let total = (1...100).reduce(0, +)
print(total)

Konvertera till en array

Om Ni omsluter ett intervall med Array(...) materialiseras varje värde i en lagrad array.

let nums = Array(1...5)
print(nums)
print(nums.count)

forEach på ett intervall

Ni kan anropa forEach för att köra en closure för varje värde, på liknande sätt som en for-loop.

(1...3).forEach { n in
    print("Tick \(n)")
}

Kedja operationer

Eftersom varje operation returnerar en samling kan Ni kedja filter och sedan map.

let result = (1...10).filter { $0 % 2 == 0 }.map { $0 * $0 }
print(result)

Skapa uppslagsdata

Att mappa ett intervall är ett snabbt sätt att generera testdata eller uppslagstabeller.

let table = (1...5).map { (n: $0, square: $0 * $0) }
for row in table {
    print("\(row.n) -> \(row.square)")
}

contains och aggregat

Intervall stöder även aggregatfrågor som contains, min och max.

let r = 5...15
print(r.contains(10))
print(r.min() ?? 0)
print(r.max() ?? 0)

Räkna matchningar

Kombinera filter med count för att räkna hur många värden som uppfyller ett villkor.

let multiplesOf3 = (1...30).filter { $0 % 3 == 0 }.count
print(multiplesOf3)

Snabbkontroll

Testa intervall som samlingar.

Sammanfattning: intervall som samlingar

Intervall är sekvenser, så Ni kan anropa map, filter, reduce och forEach på dem (kom ihåg parenteserna). Använd Array(range) för att materialisera värdena.

print((1...5).map { $0 * $0 })
Gratis att börja

Lär dig Swift med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
122
Lektioner
409

Vanliga frågor

Är lektionen ”Intervall som kollektioner” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Swift Academy, inklusive ”Intervall som kollektioner”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Swift Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Intervall som kollektioner”?

Använd map och filter på intervallssekvenser. Ni övar på Swift Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Swift Academy?

Du behöver inga förkunskaper. Utbildningen i Swift Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”Intervall som kollektioner”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Swift Academy-lektionen?

Ja. Varje Swift Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Slutna och halvt öppna intervall
  2. Ensidiga intervall
  3. Räkna med stride(from:to:by:)
  4. Intervall som kollektioner
← Tillbaka till Swift Academy