Zakresy jednostronne
Wyrażanie zakresów otwartych z jednej strony na potrzeby wycinania.
Zakresy jednostronne to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 2 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.
Czym są zakresy jednostronne
Zakres jednostronny pomija jedną granicę. Najczęściej używa się go do wycinania fragmentu kolekcji od określonej pozycji lub do określonej pozycji.
let letters = ["a", "b", "c", "d", "e"]
let tail = letters[2...]
print(Array(tail))Od indeksu do końca
arr[2...] oznacza „od indeksu 2 do końca”. Indeks początkowy jest uwzględniany.
let nums = [10, 20, 30, 40]
print(Array(nums[1...]))Do określonego indeksu
arr[..<3] oznacza „od początku do indeksu 3, bez tego indeksu”.
let nums = [10, 20, 30, 40]
print(Array(nums[..<3]))Do określonego indeksu włącznie
arr[...2] oznacza „od początku do indeksu 2 włącznie”, więc indeks 2 jest uwzględniany.
let nums = [10, 20, 30, 40]
print(Array(nums[...2]))Wycinki zachowują indeksy
Wycinek zachowuje oryginalne indeksy. Pierwszy element wyrażenia arr[2...] nadal znajduje się pod indeksem 2, a nie 0.
let nums = [10, 20, 30, 40]
let slice = nums[2...]
print(slice.startIndex)
print(slice[2])Konwertowanie wycinka
Aby ponownie indeksować elementy od 0 lub uzyskać niezależną tablicę, należy opakować wycinek w Array(...).
let nums = [10, 20, 30, 40]
let rest = Array(nums[1...])
print(rest[0])Zakresy jednostronne we wzorcach
Zakresy jednostronne działają również jako wzorce instrukcji switch: case 18... dopasowuje wartości 18 i większe.
let age = 70
switch age {
case ..<18:
print("Minor")
case 18...:
print("Adult")
default:
print("?")
}Dolny wzorzec jednostronny
case ..<0 dopasowuje wszystko poniżej zera, co jest przydatne do przechwytywania wartości ujemnych.
let value = -3
switch value {
case ..<0:
print("negative")
case 0:
print("zero")
default:
print("positive")
}Prefiks ciągu znaków
Zakresy jednostronne służą również do wycinania fragmentów ciągów znaków, gdy są używane z indeksami ciągu. Tutaj za pomocą wycinka pomijamy pierwszy znak.
let word = "Swift"
let chars = Array(word)
let rest = chars[1...]
print(String(rest))Łączenie wycinków
Za pomocą dwóch jednostronnych wycinków można pobrać początek i koniec tablicy.
let data = [1, 2, 3, 4, 5, 6]
let head = Array(data[..<2])
let tail = Array(data[4...])
print(head)
print(tail)Bezpieczne wycinanie
Wycinanie poza granicami powoduje awarię, dlatego gdy indeks pochodzi z danych wejściowych, należy najpierw go sprawdzić.
let nums = [1, 2, 3]
let start = 1
if start < nums.count {
print(Array(nums[start...]))
}Szybkie sprawdzenie
Proszę przetestować zakresy jednostronne.
Podsumowanie: zakresy jednostronne
Zakresy jednostronne, takie jak arr[2...], arr[..<3] i arr[...2], wycinają fragment od określonej pozycji lub do określonej pozycji. Wycinki zachowują oryginalne indeksy, dlatego do ponownego indeksowania należy użyć Array(...). Zakresy jednostronne działają również jako wzorce instrukcji switch.
let a = [1, 2, 3, 4]
print(Array(a[2...]))Często zadawane pytania
Czy lekcja „Zakresy jednostronne” jest bezpłatna?
Tak — pełny tekst „Zakresy jednostronne” 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 jednostronne”?
Wyrażanie zakresów otwartych z jednej strony na potrzeby wycinania. Ć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 2 z 4.
Ile czasu zajmuje lekcja „Zakresy jednostronne”?
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
- Zakresy zamknięte i lewostronnie domknięte
- Zakresy jednostronne
- Zliczanie za pomocą stride(from:to:by:)
- Zakresy jako kolekcje