Elementy w tablicy mogą być w dowolnym momencie, w tym struny, liczby całkowite, pływaki, skrótów, zagnieżdżone tablice i inne obiekty rubinowe.
Ten skomplikowany samouczek pomoże ci zrozumieć, jak pracować z tablicami Ruby od podstaw do tablicy.
Podstawy
Weź przykładowy kod poniżej informacji o użytkownikach i informacji o ich rozliczeniu.
user1_card_number = "4509 4285 4006 0689"
user2_card_number = "4922 0805 2092 4480"
user3_card_number = "4947 2643 4488 8995"
Powyższy przykład przechowuje informacje o karcie kredytowej w poszczególnych zmiennych. Jeśli mamy więcej niż 100 użytkowników, kod staje się bardzo trudny do odczytania i powtarzalny, i właśnie tam wchodzą tablice.
Aby utworzyć tablicę w Ruby, nadajemy mu nazwę i dodajemy elementy w parach kwadratowych nawiasów oddzielonych przecinkami.
Poniżej znajduje się przykład:
card_info = [
„4509 4285 4006 0689”,
„4922 0805 2092 4480”,
„4947 2643 4488 8995”
]
Kod jest bardziej czytelny i łatwy w utrzymaniu, ponieważ mamy tylko jedną zmienną do zarządzania.
Tablice drukowane
Aby wydrukować tablicę, możesz użyć metody Puts, a następnie nazwy zmiennej tablicy.
Na przykład:
card_info = [
„4509 4285 4006 0689”,
„4922 0805 2092 4480”,
„4947 2643 4488 8995”
]
Umieszcza CARD_INFO
Po uruchomieniu powyższego programu powinien wydrukować elementy przechowywane w tablicy:
$ rubinowe tablice.RB
4509 4285 4006 0689
4922 0805 2092 4480
4947 2643 4488 8995
Dostęp do poszczególnych elementów
Możemy uzyskać dostęp do każdego elementu w tablicy za pomocą jego indeksu. Indeks jest jak pozycja elementu w całej tablicy.
W Ruby indeksowanie rozpoczyna się w pozycji 0. Oznacza to, że pierwszy element w tablicy jest w indeksie 0.
Aby uzyskać dostęp do elementu w określonym indeksie, nazywamy nazwę zmiennej tablicy, a następnie indeks elementu w parach kwadratowych nawiasów jako:
card_info = [
„4509 4285 4006 0689”,
„4922 0805 2092 4480”,
„4947 2643 4488 8995”
]
Umieszcza Card_info [1]
W tym przykładzie uzyskujemy dostęp do drugiego elementu w tablicy jako:
$ rubinowe tablice.RB
4922 0805 2092 4480
Jeśli uzyskasz dostęp do indeksu poza zakresem elementów tablicy w Ruby, otrzymasz zero jako wartość zwracania.
Na przykład w poniższym programie maksymalny indeks to 2. Jeśli uzyskujemy dostęp do indeksu wyżej, powinniśmy uzyskać zero jako:
card_info = [
„4509 4285 4006 0689”,
„4922 0805 2092 4480”,
„4947 2643 4488 8995”
]
card_info [5]
=> zero
Tablica wielu typów
Jak wspomnialiśmy na początku samouczka, tablice mogą zawierać wiele typów danych.
Na przykład następujące jest tablica z wieloma typami elementów.
personal_info = [
„Król Alyssa”,
„4947 2643 4488 8995”,
[[[
„221B Baker Street”,
877
],
32
]
Powyższy przykład pokazuje tablicę z wieloma typami danych, w tym inną tablicą.
Załóżmy, że chcemy uzyskać dostęp do elementów w zagnieżdżonej tablicy, jak pokazano powyżej. W takim przypadku najpierw musimy uzyskać dostęp do zagnieżdżonej tablicy za pomocą jej indeksu jako:
personal_info [2]
Po uzyskaniu zagnieżdżonej tablicy możemy zacząć uzyskiwać dostęp do elementów za pomocą odpowiadających im indeksów.
NOTATKA: Indeksy w zagnieżdżonej tablicy zaczynają się od 0.
Umieszcza personal_info [2] [0]
Powyższy przykładowy kod wydrukuje wartość przechowywaną w pierwszym indeksie zagnieżdżonej tablicy.
Uzyskanie długości tablicy i indeksu elementów
Podczas pracy z dużą tablicą może być trudność, aby wiedzieć, ile jest w niej elementów. Możesz użyć metody długości, aby uzyskać liczbę elementów w tablicy.
Umieszcza osobistą_info.długość
=> 4
Metoda długości zwróci rzeczywistą liczbę elementów w tablicy. Pamiętaj jednak, że indeks tablic zaczyna się od 0. Stąd indeks ostatniego elementu w tablicy jest:
szyk.Długość - 1
Powiedzmy, że znasz element przechowywany w tablicy, ale nie jego indeks. Aby określić jego indeks, możesz użyć metody indeksu jako:
Umieszcza osobistą_info.indeks („Alyssa King”)
=> 0
Metoda zwraca indeks elementu, jeśli zostanie znaleziony.
Modyfikacja tablic
Teraz, gdy stworzyliśmy tablicę, w jaki sposób dodajemy lub usuwamy elementy w tablicy?
Weźmy naszą początkową tablicę kart:
card_info = [
„4509 4285 4006 0689”,
„4922 0805 2092 4480”,
„4947 2643 4488 8995”
]
Dodawanie elementów
Istnieje kilka sposobów dodania elementów do tablicy.
# 1 - Korzystanie z następnego indeksu
Pierwszy przypisuje następujący indeks wartość. Na przykład w tablicy Cards_Info następujący indeks to 3, możemy ustawić wartość jako:
card_info [3] = "4539 8298 7119 8259"
Powyższa składnia dołączy nowy element do istniejących elementów tablicy jako:
Umieszcza CARD_INFO
=> [„4509 4285 4006 0689”, „4922 0805 2092 4480”, „4947 2643 4488 8995”]
#2 - Za pomocą metody push ()
Śledzenie następującego indeksu w tablicy może być trudne, a przypisanie niewłaściwego indeksu zastąpi istniejący element.
Aby uniknąć takiego scenariusza, możemy użyć metody push.
card_info.push („4532 7335 0011 9834”)
Metoda push jest korzystna, ponieważ automatycznie dodaje element do tablicy, eliminując potrzebę martwienia się o indeks.
Możesz także użyć notacji zmiany lewej, aby dodać element do tablicy. Ta metoda działa podobnie do metody push.
card_info << "4916 4324 7803 6973"
#3 - Za pomocą metody UnShift ()
Metoda push dodaje elementy na końcu tablicy. Aby dodać element na początku tablicy, możemy użyć metody UnShift ().
card_info.UNISHIFT („4645 8814 2354 1982”)
=> [„4645 8814 2354 1982”, „4509 4285 4006 0689”, „4922 0805 2092 4480”, „4947 2643 4488 8995”]
Zauważysz, że nowy element jest na początku tablicy.
Usuwanie elementów
Ruby zapewnia trzy sposoby usunięcia elementów w tablicy.
#1 - Za pomocą metody pop ()
Metoda POP jest ściśle podobna do metody push, z tym wyjątkiem, że usuwa ostatni element w tablicy.
card_info.Muzyka pop
Drukuj karta_info
[„4509 4285 4006 0689”, „4922 0805 2092 4480”]
#2 - Za pomocą metody delete ()
Metoda Delete znajduje wszystkie wystąpienia określonego elementu i usuwa je z tablicy.
Weźmy kolejną tablicę zawierającą duplikaty jako:
db = [
„Mysql”,
„Postgresql”,
„Fauna DB”,
„Neo4J”,
„Dynamo DB”,
„Postrgesql”,
„Mysql”,
„MongoDB”
]
W tablicy przykładowej mamy dwa zduplikowane elementy. Jeśli użyjemy metody Usuń i określamy element „MySQL”, metoda usunie wszystkie elementy pasujące do tej wartości.
db.Usuń („mysql”)
Wydrukuj db
Powstała tablica znajduje się poniżej:
[„Postgresql”, „Fauna db”, „Neo4J”, „Dynamo db”, „Postrgesql”, „MongoDB”]
#3 - Za pomocą metody Shift ()
Jak sama nazwa wskazuje, metoda przesunięcia jest podobna do UNISHIFT. Jednak usuwa pierwszy element w tablicy.
db = [
„Mysql”,
„Postgresql”,
„Fauna DB”,
„Neo4J”,
„Dynamo DB”,
„Postrgesql”,
„Mysql”,
„MongoDB”
]
db.zmiana
Wydrukuj db
Metoda usunie pierwszy element i zwróci tablicę jako:
[„Postgresql”, „Fauna db”, „Neo4J”, „Dynamo DB”, „Postrgesql”, „MySQL”, „MongoDB”]
Iteracyjne nad tablicą
Aby iterować każdy element w tablicy, możemy użyć każdej metody.
db.każdy do | element |
stawia element
koniec
Powyższa metoda zwraca każdy element w tablicy.
Mysql
PostgreSQL
…
Mysql
MongoDB
Możesz także użyć pętli dla pokazu:
Dla elementu w db do
stawia element
koniec
Wniosek
Ten przewodnik nauczył Cię, jak pracować z tablicami Ruby, od podstaw po pośrednika użytkownika. Warto zauważyć, że tablice jest więcej poza zakresem tego przewodnika. Rozważ dokumentację, aby odkryć więcej.