W tym samouczku omówi różne sposoby iterację przedmiotów w tablicy Ruby.
Tworzenie tablicy
W Ruby możemy utworzyć tablicę, dodając listę wartości oddzielonych przecinkami w parach kwadratowych nawiasów. Każda pozycja w tablicy jest znana jako element i może być dowolnego typu Ruby.
myarray = [1,2,3.9, „Hello”, „World”, [], ]
Powyższy przykład pokazuje prostą tablicę składającą się z różnych typów elementów, takich jak liczby całkowite, pływaki, sznurki, tablice, skróty i inne.
W niektórych przypadkach możesz mieć tablicę złożoną tylko z typu ciągów. W takim przypadku możesz tworzyć i otrzymać wartości w %w
Przykład:
bazy danych = %W MySQL, PostgreSQL, Redis, Memcached, MongoDB, ElasticSearch
Jeśli użyjemy powyższej składni do utworzenia tablicy, Ruby oddzieli wartości przez białe listy i utworzy poszczególne elementy, jak pokazano poniżej:
Drukuj bazy danych
[„MySQL”, „Postgresql,”, „Redis”, „Memcached”, „MongoDB”, „ElasticSearch”]]
Iteracyjne nad tablicą
Iteracja nad tablicą i praca z poszczególnymi elementami to fundamentalna koncepcja programowania. Ruby zapewnia nam kilka metod wykonania takiego zadania.
Przy użyciu każdej metody
Ruby Enumerable#Każda metoda jest najbardziej uproszczonym i popularnym sposobem iteracji poszczególnych elementów w tablicy.
Akceptuje dwa argumenty: pierwsza to lista wyliczalna, a druga to blok. Zajmuje każdy element na dostarczonej liście i wykonuje blok, biorąc bieżący element jako parametr.
Oto przykład:
bazy danych = %W MySQL, PostgreSQL, Redis, Memcached, MongoDB, ElasticSearch
bazy danych.każdy do | i |
Umieszcza ja
koniec
Powyższy prosty przykład ilustruje, jak działa metoda. Zajmuje każdy element w tablicy baz danych i uruchamia blok z bieżącym elementem. W naszym przykładzie blok jest prostą metodą Puts.
Powstałe wyjście to każdy element w tablicy jako:
$ Ruby Iterator.RB
Mysql,
… ,
MongoDB,
ElasticSearch
Za pomocą metody każdej_wyteksu
W niektórych przypadkach możemy chcieć wydrukować element i jego wskaźnik pozycji w tablicy. Aby to zrobić, możemy użyć metody EAME_WITH_INDEX
Działa jak każda metoda, ale zwraca zarówno pozycje, jak i ich pozycje indeksu jako:
bazy danych = %W MySQL, PostgreSQL, Redis, Memcached, MongoDB, ElasticSearch
bazy danych.każdy_with_index do | element, indeks |
Umieszcza " #index => #element"
koniec
W powyższym przykładzie Ruby zwróci każdy element w tablicy odwzorowanej na jego indeks, jak pokazano:
0 => mysql,
1 => Postgresql,
… ,
5 => ElasticSearch
Używając pętli
Podobnie jak w większości języków programowania, możesz również iterować elementy w tablicy, używając pętli dla.
bazy danych = %W MySQL, PostgreSQL, Redis, Memcached, MongoDB, ElasticSearch
dla elementu w bazach danych
stawia element
koniec
Powyższy przykład działa jak każda metoda i zwraca poszczególne elementy w tablicy.
Za pomocą Select
Ruby ma również inną metodę iterowania nad elementami w tablicy: metoda selekcji. Metoda Select działa jak pokazano w poniższym przykładzie
bazy danych = %W MySQL, PostgreSQL, Redis, Memcached, MongoDB, ElasticSearch
bazy danych.Wybierz do | i |
Umieszcza ja
koniec
Metoda wyboru jest przydatna, gdy chcesz podzbiór, który spełnia określone kryteria. Na przykład wybierz tylko wartości w tablicy, jak pokazano:
Nums = [1,20, 23, 28, 2, 100, 34, 53, 22, 21, 11]
Nums.Wybierz do | i |
I.nawet?
koniec
Powyższy przykład powinien zwrócić tylko podzbiór tablicy NUMS, w której element jest równy.
=> [20, 28, 2, 100, 34, 22]
Za pomocą mapy
Metoda MAP to kolejny sposób na iterowanie elementów w tablicy. Funkcjonalność działa podobnie do dowolnego iteratora tablicy w Ruby. Jest to jednak głównie przydatne, gdy chcesz przekształcić tablicę.
Nums = [1,20, 23, 28, 2, 100, 34, 53, 22, 21, 11]
Nums.mapa do | i |
I * 3
koniec
Powyższy przykład zwróci nowy obiekt z elementami w tablicy pomnożonej przez 3.
Jeśli chcesz wpłynąć na oryginalną tablicę, możesz użyć mapy! metoda.
Nums = [1,20, 23, 28, 2, 100, 34, 53, 22, 21, 11]
Nums.mapa! do | i |
I * 3
koniec
Drukuj Nums
[3, 60, 69, 84, 6, 300, 102, 159, 66, 63, 33]
W powyższym przykładzie mapa! Metoda zmienia tablicę źródła i tworzy tablicę z określonymi modyfikacjami.
Wniosek
W tym przewodniku omówiono, jak iterować elementy w tablicy za pomocą pętli i innych wbudowanych metod rubinowych.