0Pricing
Swift Academy · Lekcja

Zakresy jako kolekcje

Mapowanie i filtrowanie sekwencji zakresów.

Zakresy jako kolekcje to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Swift Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Swift Academy zawiera 4 lekcji w sumie.

Zakresy są sekwencjami

Zakres to coś więcej niż przedział liczb — jest sekwencją, którą można przekształcać za pomocą metod kolekcji, takich jak map i filter.

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

Mapowanie zakresu

(1...n).map { ... } przekształca każdą liczbę w nową wartość, tworząc tablicę. Należy zwrócić uwagę na nawiasy wokół zakresu.

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

Dlaczego potrzebne są nawiasy

Przed wywołaniem metody zakres należy umieścić w nawiasach, w przeciwnym razie Swift błędnie interpretuje składnię. Poprawny zapis to (1...5).map.

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

Filtrowanie zakresu

filter zachowuje tylko wartości spełniające warunek i zwraca tablicę dopasowanych elementów.

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

Redukowanie zakresu

reduce łączy wszystkie wartości w jedną. W tym przykładzie sumujemy liczby od 1 do 100.

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

Konwertowanie na tablicę

Opakowanie zakresu w Array(...) materializuje każdą wartość w przechowywanej tablicy.

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

forEach na zakresie

Można wywołać forEach, aby uruchomić closure dla każdej wartości, podobnie jak w pętli for.

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

Łączenie operacji

Ponieważ każda operacja zwraca kolekcję, można połączyć w łańcuch najpierw filter, a następnie map.

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

Tworzenie danych wyszukiwania

Mapowanie zakresu to szybki sposób na generowanie danych testowych lub tabel wyszukiwania.

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

contains i agregacja

Zakresy obsługują również zapytania agregujące, takie jak contains, min i max.

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

Zliczanie dopasowań

Połączenie filter z count pozwala policzyć, ile wartości spełnia warunek.

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

Szybkie sprawdzenie

Proszę przetestować zakresy jako kolekcje.

Podsumowanie: zakresy jako kolekcje

Zakresy są sekwencjami, dlatego można na nich wywoływać map, filter, reduce i forEach — należy pamiętać o nawiasach. Za pomocą Array(range) można zmaterializować wartości.

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

Często zadawane pytania

Czy lekcja „Zakresy jako kolekcje” jest bezpłatna?

Tak — pełny tekst „Zakresy jako kolekcje” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Swift Academy, przejdź na CoddyKit PRO. Kurs Swift Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Zakresy jako kolekcje”?

Mapowanie i filtrowanie sekwencji zakresów. Ćwiczysz Swift Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Swift Academy?

Nie wymagamy żadnego doświadczenia. Swift Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Zakresy jako kolekcje”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Swift Academy?

Tak. Każda lekcja Swift Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Zakresy zamknięte i lewostronnie domknięte
  2. Zakresy jednostronne
  3. Zliczanie za pomocą stride(from:to:by:)
  4. Zakresy jako kolekcje
← Powrót do Swift Academy