Zakresy w Ruby

Zakresy w Ruby
Zakresy są wszędzie w naszym codziennym życiu. Na przykład może być to, ile czasu zajmie przeczytanie tego artykułu, odległość między Moskwą a Londynem, liczba dni między teraz a Bożego Narodzeniem itp.

Chociaż zakresy mogą być wdrażane inaczej w języku programowania, podstawowa koncepcja nie różni się.

W tym samouczku dowiemy się, jak używać zakresów w języku programowania Ruby.

Jaki jest zasięg?

Jaki jest szczególnie zakres? Zakres jest zestawem wartości z punktem początkowym i punktem końcowym.

W programowaniu zasięg może być zestawem liczb, znaków, ciągów i innych obiektów. Ogólny pomysł polega na tym, że zasięg powinien mieć początek i koniec.

Jak stworzyć zasięg w Ruby

Najprostszym sposobem na stworzenie zasięgu w Ruby jest użycie zapisów DOT. Poniższy przykład ilustruje, jak działa zasięg w Ruby:

bo w 1… 10
Umieszcza ja
koniec

Powyższy przykład powinien zwrócić wszystkie elementy z zakresu od 1 do i w tym 10.

Ruby używa zapisów DOT, aby wskazać zakres wartości.

Dwie kropki (…) nazywa się zakresem integracyjnym, ponieważ zawiera wartość końcową w elementach. Na przykład 1… 10 rozpocznie się od 1 do 10.

Trzy kropki (…) nazywa się ekskluzywnym zakresem, ponieważ nie zawiera wartości końcowej w zakresie. Na przykład 1… 10 zaczyna się od 1 i kończy o 9.

Sekwencje

Podstawową implementacją zakresów rubinowych jest generowanie lub przejście przez sekwencję wartości. W poprzednim przykładzie wykorzystaliśmy zakres wewnątrz pętli dla dla wygenerowania sekwencji wartości między 1 a 10 (włącznie).

Możemy również użyć zakresu do zapętlania elementów w tablicy, szczególnie gdy znamy całkowitą liczbę elementów.

Rozważ tablicę poniżej:

bazy danych = [„MySQL”, „PostgreSQL”, „Redis”, „MongoDB”, „Firestore”]

Aby uzyskać elementy w tablicy, możemy użyć indeksów elementów, co doprowadziłoby do 5 powtarzających się fragmentów kodu.

Możemy użyć zasięgu jako:

bazy danych = [„MySQL”, „PostgreSQL”, „Redis”, „MongoDB”, „Firestore”]
bo w 0… 4
umieszcza bazy danych [i]
koniec

Chociaż powyższa implementacja nie jest najbardziej wydajnym sposobem na przeprowadzenie takiej operacji, łatwiej jest ją odczytać niż kilka powtarzających się indeksów.

Warto zauważyć, że zakresy nie ograniczają się tylko do wartości liczb całkowitych. Możemy wygenerować wszystkie litery w alfabecie za pomocą prostego zakresu.

Puts („A”… „Z”).to_a

Powyższy kod wygeneruje wszystkie znaki między A i Z i umieści je w tablicy za pomocą metody TO_A.

Warunki

Zakresy można również zaimplementować w wyrażeniach warunkowych. Załóżmy na przykład, że chcemy ustalić, czy wartość jest między różnymi grupami liczb.

Weźmy liczbę losową i zapytaj: czy liczba od 1 do 10, 20 i 30, 40 i 50 i taka.

Możemy to zaimplementować za pomocą kilku wierszy kodu jako:

losowe = 34
poprawne = przypadek przypadkowy
Kiedy 1… 10 to „Jestem tutaj”
Kiedy 11… 20, to „Mam ponad 10”
Kiedy 21… 30 Następnie „Wypróbuj powyżej 20”
Kiedy 31… 40 to „Mam powyżej 15 x 2”
Kiedy 41… 50 to „Jestem w połowie drogi!"
w przeciwnym razie
stawia „Jestem całkowicie zagubiony!"
koniec
stawia poprawność

Powyższy kod wykorzystuje zakresy do sprawdzenia kilku wsporników zakresu i oceny, czy wartość losowa jest w jednym z zestawu.

Odstępy

Ostateczna implementacja pasm Ruby jest testowana, jeśli wartość leży w odstępie innych wartości. Nie można go odróżnić od warunków, ale używa operatorów logicznych do oceny.

Na przykład:

if ((1… 10)) === 7
stawia „może sprawdź inne miejsca”
Elsif
stawia „Mogę tu być”
koniec

Prosta wdrożenie powyżej sprawdza, czy wartość 7 znajduje się w zakresie 1 i 10 i wykonuje kod, jeśli jest to prawdziwe.

Uwzględnij i osłonę

Istnieją dwie metody, które można użyć podczas pracy z Ruby Panszami. To są obejmowanie i okładka.

Metoda obejmują działa, sprawdzając, czy wartość znajduje się w zakresie, podczas gdy pokrywa sprawdza początkową i końcową wartość zakresu dla dopasowania.

Puts (1… 10).włączać? 10
Puts (1… 10).okładka? 1

Zamknięcie

W tym szybkim przewodniku omówiliśmy podstawy używania zakresów w Ruby. Chociaż jest więcej, koncepcja omówiona w tym samouczku powinna pomóc ci zrozumieć zakresy w Ruby. Aby dowiedzieć się więcej, sprawdź oficjalną dokumentację.