Durch ein Array in Ruby durchlaufen

Durch ein Array in Ruby durchlaufen
Ruby ist eine leistungsstarke Programmiersprache, die das Konzept von leicht zu erlernen und nutzen scheint. Wenn es darum geht, fast grundlegende Aufgaben in Ruby auszuführen, gibt es wahrscheinlich eine integrierte Methode dafür.

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.