Tworzenie wycinków za pomocą zakresów
Wydobywanie podsekwencji bez kopiowania.
Tworzenie wycinków za pomocą zakresów to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 1 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.
Indeksowanie za pomocą zakresu
Gdy tablica jest indeksowana za pomocą zakresu, Swift nie kopiuje elementów do nowej tablicy. Zamiast tego zwraca ArraySlice, który współdzieli pamięć z oryginalną tablicą.
let numbers = [10, 20, 30, 40, 50]
let slice = numbers[1..<4]
print(slice)
print(type(of: slice))Zakres półotwarty
Operator ..< tworzy zakres półotwarty. 1..<4 obejmuje indeksy 1, 2 i 3, ale nie obejmuje indeksu 4.
let letters = ["a", "b", "c", "d", "e"]
let middle = letters[1..<4]
print(middle)Wycinanie za pomocą zakresu domkniętego
Jeśli górna granica ma być uwzględniona, należy użyć .... 1...3 obejmuje indeksy 1, 2 i 3.
let scores = [88, 92, 75, 64, 99]
let closed = scores[1...3]
print(closed)Zakresy jednostronne
Swift obsługuje zakresy jednostronne. arr[2...] oznacza zakres od indeksu 2 do końca, a arr[..<2] oznacza wszystko przed indeksem 2.
let data = [1, 2, 3, 4, 5, 6]
print(data[3...])
print(data[..<3])Wycinki są widokami
ArraySlice jest widokiem na nadrzędną tablicę. Jego utworzenie jest tanie, ponieważ elementy nie są kopiowane do momentu modyfikacji lub konwersji wycinka.
let big = Array(1...1000)
let window = big[100..<105]
print(window)Iterowanie po wycinku
Po wycinku można iterować tak samo jak po tablicy. Wartości są tymi samymi elementami, które zawiera nadrzędna tablica.
let words = ["sun", "moon", "star", "comet"]
let pair = words[1..<3]
for w in pair {
print(w)
}Wycinek ciągu znaków
Wycinanie działa z dowolnym typem elementów. Tutaj pobieramy zakres z tablicy imion.
let names = ["Ada", "Bob", "Cleo", "Dan", "Eve"]
let some = names[0..<2]
print(some)Łączenie z count
Można dynamicznie utworzyć zakres, używając właściwości count tablicy, aby pobrać kilka ostatnich elementów.
let nums = [5, 10, 15, 20, 25]
let lastTwo = nums[(nums.count - 2)..<nums.count]
print(lastTwo)Pusty wycinek
Zakres, którego dolna i górna granica są równe, tworzy pusty wycinek. Jest to poprawne i bezpieczne.
let arr = [1, 2, 3, 4]
let empty = arr[2..<2]
print(empty)
print(empty.isEmpty)Wycinanie i sumowanie
Ponieważ wycinek nadal jest zgodny z tymi samymi protokołami, można wywoływać na nim bezpośrednio metody takie jak reduce.
let values = [2, 4, 6, 8, 10]
let sum = values[1..<4].reduce(0, +)
print(sum)Dlaczego wycinki są ważne
Wycinki umożliwiają pracę z fragmentami dużych tablic bez kosztu kopiowania. Jest to przydatne w algorytmach takich jak wyszukiwanie binarne lub okna przesuwne.
let series = Array(1...20)
let firstHalf = series[..<10]
let secondHalf = series[10...]
print(firstHalf.count, secondHalf.count)Szybkie sprawdzenie
Proszę sprawdzić zrozumienie wycinania za pomocą zakresów.
Podsumowanie
Indeksowanie tablicy za pomocą zakresu zwraca ArraySlice, który współdzieli pamięć z nadrzędną tablicą. Zakres półotwarty ..< wyklucza górną granicę, zakres domknięty ... ją uwzględnia, a zakresy jednostronne tanio pobierają prefiks lub sufiks.
let r = [10, 20, 30, 40]
print(r[1..<3])
print(r[1...])
print(r[..<2])Często zadawane pytania
Czy lekcja „Tworzenie wycinków za pomocą zakresów” jest bezpłatna?
Tak — pełny tekst „Tworzenie wycinków za pomocą zakresów” 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 „Tworzenie wycinków za pomocą zakresów”?
Wydobywanie podsekwencji bez kopiowania. Ć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 1 z 4.
Ile czasu zajmuje lekcja „Tworzenie wycinków za pomocą zakresów”?
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
- Tworzenie wycinków za pomocą zakresów
- Semantyka indeksów ArraySlice
- Konwertowanie wycinków z powrotem na tablice
- prefix, suffix i dropFirst