Intervall som kollektioner
Använd map och filter på intervallssekvenser.
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 })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
- Slutna och halvt öppna intervall
- Ensidiga intervall
- Räkna med stride(from:to:by:)
- Intervall som kollektioner