In diesem Tutorial können Sie verschiedene Möglichkeiten besprechen, wie Sie die Gegenstände in einem Ruby -Array itererieren können.
Erstellen eines Arrays
In Ruby können wir ein Array erstellen, indem wir eine Liste von von Kommas getrennten Werten in einem Paar quadratische Klammern hinzufügen. Jedes Element im Array ist als Element bekannt und kann von jedem Rubin -Typ sein.
myarray = [1,2,3.9, "Hallo", "Welt", [], ]
Das obig.
In einigen Fällen haben Sie möglicherweise nur ein Array, das nur aus String -Typ besteht. In diesem Fall können Sie die Werte in %W erstellen und einschließen
Beispiel:
Datenbanken = %W MySQL, Postgresql, Redis, Memcached, MongoDB, Elasticsearch
Wenn wir die obige Syntax verwenden, um ein Array zu erstellen, trennen Ruby die Werte durch Whitespaces und erstellen einzelne Elemente, wie unten gezeigt:
Datenbanken drucken
["MySQL", "Postgresql", "Redis", "Memcached", "MongoDB", "Elasticsearch"]
Iterie über ein Array
Das Iterieren über ein Array und die Arbeit mit einzelnen Elementen ist ein grundlegendes Programmkonzept. Ruby bietet uns einige Methoden, um eine solche Aufgabe auszuführen.
Mit jeder Methode
Die aufzählbare Ruby -auf jede Methode ist die simpilischste und beliebteste Methode, um einzelne Elemente in einem Array zu iterieren.
Es akzeptiert zwei Argumente: das erste ist eine aufzählbare Liste, und der zweite ist ein Block. Es wird jedes Element in die angegebene Liste verwendet und den Block ausgeführt, wodurch das aktuelle Element als Parameter verwendet wird.
Hier ist ein Beispiel:
Datenbanken = %W MySQL, Postgresql, Redis, Memcached, MongoDB, Elasticsearch
Datenbanken.jeweils tun | i |
stellt i
Ende
Das obige einfache Beispiel zeigt, wie die Methode funktioniert. Es wird jedes Element in das Datenbanken -Array genommen und führt einen Block mit dem aktuellen Element aus. In unserem Beispiel ist der Block eine einfache Put -Methode.
Die resultierende Ausgabe ist jedes Element im Array als:
$ Ruby Iterator.rb
Mysql,
… ,
MongoDb,
Elasticsarch
Verwenden der Methode der jeweils_with_index
In einigen Fällen möchten wir das Element und seinen Positionsindex im Array möglicherweise drucken. Dazu können wir die Methode ENGE_WITH_INDEX verwenden
Es funktioniert wie jede Methode, gibt jedoch beide Elemente und ihre Indexpositionen als:
Datenbanken = %W MySQL, Postgresql, Redis, Memcached, MongoDB, Elasticsearch
Datenbanken.ENGER_WITH_INDEX DO | Element, Index |
platziert " #index => #element"
Ende
Im obigen Beispiel gibt Ruby jedes Element in das Array zurück, das seinem Index zugeordnet ist, wie gezeigt:
0 => mysql,
1 => postgresql,
… ,
5 => ElasticSearch
Verwenden einer für die Schleife
Wie in den meisten Programmiersprachen können Sie auch die Elemente in einem Array durch eine für Schleife iterieren.
Datenbanken = %W MySQL, Postgresql, Redis, Memcached, MongoDB, Elasticsearch
Für Element in Datenbanken
setzt Element
Ende
Das obige Beispiel funktioniert wie jede Methode und gibt einzelne Elemente im Array zurück.
Verwenden von Auswahl
Ruby hat auch eine andere Methode zum Ieserieren von Elementen in einem Array: die Methode auswählen. Die Auswahlmethode funktioniert wie im folgenden Beispiel gezeigt
Datenbanken = %W MySQL, Postgresql, Redis, Memcached, MongoDB, Elasticsearch
Datenbanken.Wählen Sie do | i |
stellt i
Ende
Die Auswahlmethode ist nützlich, wenn Sie eine Teilmenge möchten, die bestimmte Kriterien erfüllt. Wählen Sie beispielsweise nur Werte in einem Array wie gezeigt aus:
nums = [1,20, 23, 28, 2, 100, 34, 53, 22, 21, 11]
nums.Wählen Sie do | i |
ich.selbst?
Ende
Das obige Beispiel sollte nur eine Teilmenge des NUMS -Arrays zurückgeben, in der das Element gerade ist.
=> [20, 28, 2, 100, 34, 22]
Verwenden von Karte
Die Kartenmethode ist eine weitere Möglichkeit, die Elemente in einem Array zu iterieren. Die Funktionalität funktioniert ähnlich wie bei jedem Array -Iterator in Ruby. Es ist jedoch hauptsächlich nützlich, wenn Sie das Array transformieren möchten.
nums = [1,20, 23, 28, 2, 100, 34, 53, 22, 21, 11]
nums.Karte do | i |
i * 3
Ende
Das obige Beispiel gibt ein neues Objekt mit den Elementen im Array multipliziert mit 3 zurück.
Wenn Sie das ursprüngliche Array beeinflussen möchten, können Sie die Karte verwenden! Methode.
nums = [1,20, 23, 28, 2, 100, 34, 53, 22, 21, 11]
nums.Karte! do | i |
i * 3
Ende
drucken nums
[3, 60, 69, 84, 6, 300, 102, 159, 66, 63, 33]
Im obigen Beispiel die Karte! Die Methode verändert das Quellarray und erstellt ein Array mit den angegebenen Modifikationen.
Abschluss
In diesem Leitfaden wurde erörtert, wie man über Elemente in einem Array für Schleifen und andere integrierte Ruby-Methoden iteriert.