Ruby Range to tablic

Ruby Range to tablic

Zakres odnosi się do obiektu, który rejestruje określoną sekwencję. Definiujemy zakresy z określoną wartością początkową i końcową, a następnie rozkładamy wartości między zakresem wartości początkowych i końcowych.

Prosty przykład może mieć wartości od 10 do 100. Między wartością 10 a 100, możesz mieć sekwencję, aby uwzględnić tylko liczby równe i takie.

Korzystając z tego przewodnika, dowiemy się, jak tworzyć zakresy w Ruby, pracować z metodą kroków, a na koniec przekonwertować zakres na tablicę.

Pierwsze kroki z zasięgami

Używamy podwójnej kropki (…) i potrójnej kropki (…), aby stworzyć zasięg w Ruby.

Notacja podwójnej kropki wytwarza zakres wartości, w tym wartości początkowe i końcowe zakresu.

Z drugiej strony notacja trzech kropek wyklucza wartość końcową (wysoką) z listy wartości.

Rozważ poniższy przykład:

(1… 10)
(1… 10)

Oba powyższe przykłady to ważne zakresy rubinowe. Jednak wyjście wartości jest jak odpowiednio (odpowiednio).

1, 2, 3, 4, 5, 6, 7, 8, 9, 10
1, 2, 3, 4, 5, 6, 7, 8, 9

Przykład 1

Aby sprawdzić, czy zakres obejmuje wartość, możemy użyć różnych metod, takich jak include? Spójrz na poniższy przykład:

Puts (1… 10).włączać?(10) # => True
Puts (1… 10).włączać?(10) # => Fałsz

Przykład 2

Wartości z zakresu nie są oznaczone jako lista. Są to rzeczywiste obiekty zasięgu klasy zawierającej wymyślne. Dlatego możemy wykonać operacje iteracji w zakresie bez konwersji na obiekt tablicy.

Rozważ prosty przykład poniżej:

bo IN (1… 10)
Umieszcza ja
koniec

Korzystając z prostej pętli, możemy pobrać każdy element w zakresie i działać na wartości.

Przykład 3

Inną metodą, którą możemy zastosować do zakresu, jest metoda odrzucania. Ta metoda usunie wszystkie wartości, które nie spełniają określonego warunku. F

Na przykład weź zakres od 1 do 100; Możemy odrzucić wszystkie wartości, które nie są nawet numerycznie.

Poniżej znajduje się przykładowy kod:

Puts (1… 100).Odrzuć | i | I.nawet? != true

Ruby jest tak elastyczna, że ​​pozwala zrobić więcej z kilkoma wierszami kodu.

W naszym powyższym przykładzie używamy wbudowanych metod rubinowych do odfiltrowania zakresu i uwzględniamy tylko wartości równomierne .

Poniżej znajduje się przykład wyjścia:

2
4
6

98
100

Metoda kroku w Ruby

Załóżmy, że chcemy stworzyć zasięg, ale w określonym przedziale? W takim scenariuszu możemy użyć metody kroku. Ta metoda zwiększy wartości w zakresie (między początkiem a końcem) w porównaniu z przyrostem określonej wartości.

Zilustrujmy to przykładem:

vars = (10… 100).krok 3)
stawia vars.to_a

NOTATKA: Ignoruj ​​metodę to_a (omówioną później).

Powyższy przykład powinien podać wyjście podobne do tego pokazanego poniżej:

10
13
16

Jak zauważysz, dodajemy 3 do bieżącej wartości lub drukujemy co trzeci element z bieżącej pozycji.

Zakres do tablicy

#to_a

Czy pamiętasz wspomnianą powyżej metodę TO_A? Omówmy, co to znaczy i jak to działa. Metoda TO_A pomaga przekonwertować sekwencję wartości na tablicę.

Na przykład rozważ poniższy przykład:

SEQ = (1… 10)
stawia SEQ.to_a

Powyższy przykład zwróci wartości z zakresu w formacie tablicy. Pomyśl o tym jako o zapętlaniu każdego elementu w zakresie i dołączając go do tablicy. Oto prosta ilustracja.

Arr = []
bo IN (1… 10)
ARR = ARR.push (i)
koniec
stawia ARR

Zaczynamy od zdefiniowania pustej tablicy. Następnie iterujemy nad elementami w zakresie i naciskamy każdy element do kolekcji.

Szyk()

Ruby pozwala również użyć metody Array () do utworzenia nowej tablicy z elementów w zakresie.

Rozważ poniższy przykład:

ARR = tablica ((1… 10))
stawia ARR

Tak, metoda wygląda jak klasa tablicy. Musisz jednak dodać parę nawiasów, aby poinformować Ruby znać metodę tablicy, a nie klasę.

Powstała wartość to zakres wartości w formacie tablicy.

Zamknięcie

Ten przewodnik zawiera informacje o tym, jak pracować z Ruby Panszami. Korzystając z tego przewodnika, rozumiesz teraz, jak pracować z zakresami i konwertować je na tablicę.

Dziękujemy za przeczytanie i bądź na bieżąco z kolejnymi przewodnikami rubinowymi.