Iteruj tablicę w Ruby

Iteruj tablicę w Ruby
Ruby to potężny język programowania, który wydaje się przyjmować koncepcję łatwego do nauczenia się i intensywnego używania. Jeśli chodzi o wykonywanie prawie fundamentalnych zadań w Ruby, istnieje szansa, że ​​istnieje wbudowana metoda.

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.