Budowanie zakresów
Wygeneruje Pan/Pani sekwencje liczb.
Budowanie zakresów to bezpłatna lekcja Scala for Backend Engineering & Functional Programming na CoddyKit. To lekcja 3 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 Scala for Backend Engineering & Functional Programming, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Scala for Backend Engineering & Functional Programming zawiera 4 lekcji w sumie.
Czym jest zakres?
Zakres przedstawia uporządkowaną sekwencję liczb całkowitych rozmieszczonych w równych odstępach, na przykład 1, 2, 3, 4, 5.
Zakresy oszczędzają pamięć, ponieważ przechowują tylko początek, koniec i krok, a nie każdą liczbę. Idealnie nadają się do zliczania i iterowania.
Słowo kluczowe to
Najprostszy zakres tworzy się za pomocą to, które obejmuje oba końce.
Dlatego 1 to 5 obejmuje 1, 2, 3, 4 i 5. Ostatnia liczba należy do zakresu.
val r = 1 to 5
println(r)Zakresy domknięte
Zakres utworzony za pomocą to nazywa się domkniętym, ponieważ zawiera górną granicę.
Aby zobaczyć rzeczywiste liczby zamiast zwartego opisu, można przekształcić zakres w listę.
val r = 1 to 5
println(r.toList)Słowo kluczowe until
Użyj until, gdy chcesz zakończyć zakres tuż przed górną granicą.
Dlatego 1 until 5 daje 1, 2, 3 i 4, pomijając 5. Wartość końcowa nie należy do zakresu.
val r = 1 until 5
println(r.toList)to a until
Różnica dotyczy tylko ostatniej liczby. to obejmuje koniec, a until go wyklucza.
1 to 5 ma pięć elementów, natomiast 1 until 5 ma ich cztery. Wybór właściwego operatora pozwala uniknąć błędów o jeden element.
println((1 to 5).toList)
println((1 until 5).toList)Zmiana kroku za pomocą by
Domyślnie zakres zwiększa się o jeden. Dodaj by, aby zmienić wielkość kroku.
W tym przykładzie zliczamy od 0 do 10, przeskakując co 2 i otrzymując liczby parzyste.
val evens = 0 to 10 by 2
println(evens.toList)Odliczanie w dół
Ujemny krok pozwala zakresowi odliczać wstecz.
Przy użyciu by -1 zakres zaczyna się od większej wartości i maleje. To standardowy sposób iterowania w odwrotnej kolejności.
val down = 5 to 1 by -1
println(down.toList)Rozmiar zakresu
Za pomocą size można sprawdzić, ile elementów zawiera zakres.
Wartość ta jest obliczana natychmiast na podstawie granic i kroku, bez wyliczania każdej liczby.
val r = 0 to 20 by 5
println(r.size)Sprawdzanie przynależności
Metoda contains informuje, czy dana wartość należy do zakresu.
Uwzględnia również krok, więc 3 nie należy do zakresu liczb parzystych o kroku 2.
val evens = 0 to 10 by 2
println(evens.contains(4))
println(evens.contains(3))Zakresy są kolekcjami
Zakres zachowuje się jak każda inna sekwencja, więc można go mapować lub sumować.
W tym przykładzie podnosimy każdą liczbę do kwadratu i dodajemy wyniki, nie tworząc wcześniej jawnej listy.
val total = (1 to 4).map(n => n * n).sum
println(total)Puste zakresy
Jeśli początek znajduje się już za końcem, zakres jest po prostu pusty.
Na przykład 5 until 5 nie zawiera żadnych elementów. Puste zakresy są poprawne i podczas iterowania nie generują żadnych elementów.
val r = 5 until 5
println(r.isEmpty)Szybkie sprawdzenie
Sprawdź, czego nauczyłeś się o tworzeniu zakresów.
Podsumowanie
Zakresy tworzysz za pomocą to (domkniętego) i until (otwartego), zmieniasz krok za pomocą by, a za pomocą ujemnego kroku możesz odliczać w dół.
Zakresy to lekkie kolekcje obsługujące size, contains i map. Następnie użyjesz ich do sterowania pętlami.
Często zadawane pytania
Czy lekcja „Budowanie zakresów” jest bezpłatna?
Tak — pełny tekst „Budowanie 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 Scala for Backend Engineering & Functional Programming, przejdź na CoddyKit PRO. Kurs Scala for Backend Engineering & Functional Programming zawiera 4 lekcji w sumie.
Co nauczysz się w „Budowanie zakresów”?
Wygeneruje Pan/Pani sekwencje liczb. Ćwiczysz Scala for Backend Engineering & Functional Programming 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ąć Scala for Backend Engineering & Functional Programming?
Nie wymagamy żadnego doświadczenia. Scala for Backend Engineering & Functional Programming 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 3 z 4.
Ile czasu zajmuje lekcja „Budowanie 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 Scala for Backend Engineering & Functional Programming?
Tak. Każda lekcja Scala for Backend Engineering & Functional Programming 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 krotek
- Destrukturyzacja krotek
- Budowanie zakresów
- Zakresy w pętlach