Elemente in einem Array können jederzeit sein, einschließlich Saiten, Ganzzahlen, Schwimmer, Hashes, verschachtelten Arrays und anderen Rubinobjekten.
In diesem aufwändigen Tutorial können Sie verstehen.
Die Grundlagen
Nehmen Sie unten einen Beispielcode in den Informationen des Geschäfts über Benutzer und deren Abrechnungsinformationen ein.
user1_card_number = "4509 4285 4006 0689"
user2_card_number = "4922 0805 2092 4480"
user3_card_number = "4947 2643 4488 8995"
Im obigen Beispiel speichert die Kreditkarteninformationen in einzelnen Variablen. Wenn wir mehr als 100 Benutzer haben, ist der Code sehr schwer zu lesen und sich zu wiederholen, und dort kommen Arrays ins Spiel.
Um ein Array in Ruby zu erstellen, geben wir ihm einen Namen und fügen die Elemente in zwei quadratischen Klammern hinzu, die von Kommas getrennt sind.
Das Folgende ist ein Beispiel:
card_info = [
"4509 4285 4006 0689",
"4922 0805 2092 4480",
"4947 2643 4488 8995"
]
Der Code ist lesbarer und einfacher zu pflegen, da wir nur eine einzige Variable zu verwalten haben.
Drucken von Arrays
Um ein Array zu drucken, können Sie die Puts -Methode verwenden, gefolgt vom Namen Ihrer Array -Variablen.
Zum Beispiel:
card_info = [
"4509 4285 4006 0689",
"4922 0805 2092 4480",
"4947 2643 4488 8995"
]
setzt Card_info
Sobald wir das obige Programm ausgeführt haben, sollte es die im Array gespeicherten Elemente ausdrucken:
$ Ruby Arrays.rb
4509 4285 4006 0689
4922 0805 2092 4480
4947 2643 4488 8995
Zugriff auf einzelne Elemente
Wir können auf jedes Element in einem Array zugreifen, indem wir seinen Index verwenden. Ein Index ist wie die Position des Elements im gesamten Array.
In Ruby beginnt die Indexierung an Position 0. Das bedeutet, dass das erste Element in einem Array bei Index 0 ist.
Um auf das Element in einem bestimmten Index zuzugreifen, nennen wir den Namen der Array -Variablen, gefolgt vom Index des Elements in einem Paar quadratische Klammern als:
card_info = [
"4509 4285 4006 0689",
"4922 0805 2092 4480",
"4947 2643 4488 8995"
]
stellt CARD_INFO [1]
In diesem Beispiel greifen wir auf das zweite Element im Array zu::
$ Ruby Arrays.rb
4922 0805 2092 4480
Wenn Sie auf einen Index außerhalb der Array -Elemente in Ruby zugreifen, erhalten Sie Null als Rückgabewert.
Zum Beispiel beträgt der maximale Index im folgenden Programm 2. Wenn wir auf einen höheren Index zugreifen, sollten wir uns als:
card_info = [
"4509 4285 4006 0689",
"4922 0805 2092 4480",
"4947 2643 4488 8995"
]
card_info [5]
=> nil
Multi-Typ-Array
Wie wir zu Beginn des Tutorials erwähnt haben, können Arrays mehrere Datentypen enthalten.
Zum Beispiel ist das Folgende ein Array mit mehreren Elementtypen.
Personal_info = [
"Alyssa King",
"4947 2643 4488 8995",
[
"221b Baker Street",
877
],
32
]
Das obige Beispiel zeigt ein Array mit mehreren Datentypen, einschließlich eines anderen Arrays.
Angenommen, wir möchten in einem verschachtelten Array auf Elemente zugreifen, wie oben gezeigt. In einem solchen Fall müssen wir zunächst mit seinem Index auf das verschachtelte Array zugreifen
Personal_info [2]
Sobald wir das verschachtelte Array haben, können wir mit ihren entsprechenden Indizes auf die Elemente zugreifen.
NOTIZ: Indizes in einem verschachtelten Array beginnen bei 0.
stellt Personal_info [2] [0]
Der obige Beispielcode druckt den im ersten Index des verschachtelten Array gespeicherten Wertes.
Erhalten Sie Arraylänge und Elementindex
Bei der Arbeit mit einem großen Array kann es schwierig sein zu wissen, wie viele Elemente darin enthalten sind. Sie können die Längenmethode verwenden, um die Anzahl der Elemente im Array zu erhalten.
setzt Personal_info.Länge
=> 4
Die Längenmethode gibt die tatsächliche Anzahl der Elemente im Array zurück. Denken Sie jedoch daran, dass der Index der Arrays bei 0 beginnt. Daher ist der Index des letzten Elements in einem Array:
Array.Länge - 1
Nehmen wir an, Sie kennen das im Array gespeicherte Element, aber nicht seinen Index. Um den Index zu bestimmen, können Sie die Indexmethode als:
setzt Personal_info.Index ("Alyssa King")
=> 0
Die Methode gibt den Index des Elements zurück, falls gefunden.
Ändern von Arrays
Nachdem wir das Array erstellt haben, wie fügen oder entfernen wir Elemente in das Array??
Nehmen wir unser ursprüngliches Kartenarray:
card_info = [
"4509 4285 4006 0689",
"4922 0805 2092 4480",
"4947 2643 4488 8995"
]
Hinzufügen von Elementen
Es gibt verschiedene Möglichkeiten, einem Array Elemente hinzuzufügen.
# 1 - Verwenden Sie den nächsten Index
Der erste zuweist den folgenden Index a Wert. Beispielsweise können wir im Cards_info -Array der folgende Index 3 beträgt, einen Wert als:
card_info [3] = "4539 8298 7119 8259"
Die obige Syntax wird ein neues Element an die vorhandenen Array -Elemente anhängen als:
setzt Card_info
=> ["4509 4285 4006 0689", "4922 0805 2092 4480", "4947 2643 4488 8995"]
#2 - Verwendung von Push () -Methode
Es kann schwierig sein, den folgenden Index in einem Array zu verfolgen, und das Zuweisen des falschen Index überschreiben das vorhandene Element.
Um ein solches Szenario zu vermeiden, können wir die Push -Methode verwenden.
card_info.Push ("4532 7335 0011 9834")
Die Push -Methode ist vorteilhaft, da das Element automatisch dem Array hinzugefügt wird, wodurch die Notwendigkeit beseitigt wird, sich um den Index zu kümmern.
Sie können auch die linke Schaltnotation verwenden, um dem Array ein Element hinzuzufügen. Diese Methode funktioniert ähnlich wie die Push -Methode.
card_info << "4916 4324 7803 6973"
#3 - Verwendung von Unshift () Methode
Die Push -Methode fügt Elemente am Ende des Arrays hinzu. Um am Anfang des Arrays ein Element hinzuzufügen, können wir die Unshift () -Methode verwenden.
card_info.Unshift ("4645 8814 2354 1982")
=> ["4645 8814 2354 1982", "4509 4285 4006 0689", "4922 0805 2092 4480", "4947 2643 4488 8995"]
Sie werden feststellen, dass sich das neue Element am Anfang des Arrays befindet.
Elemente entfernen
Ruby bietet drei Möglichkeiten, Elemente in einem Array zu entfernen.
#1 - Verwenden der Pop () -Methode
Die POP -Methode ähnelt der Push -Methode, außer dass sie das letzte Element im Array entfernt.
card_info.Pop
Drucken Sie CARD_INFO
["4509 4285 4006 0689", "4922 0805 2092 4480"]
#2 - Verwenden der Methode delete ()
Die Löschmethode findet alle Vorkommen des von Ihnen angegebenen Elements und entfernt sie aus dem Array.
Nehmen wir ein weiteres Array, das Duplikate enthält wie:
db = [
"MySQL",
"Postgresql",
"Fauna db",
"Neo4j",
"Dynamo DB",
"Postrgesql",
"MySQL",
"MongoDb"
]
Im Beispiel -Array haben wir zwei doppelte Elemente. Wenn wir die Löschmethode verwenden und das Element „MySQL“ angeben, entfernen die Methode alle Elemente, die diesem Wert entsprechen.
db.löschen ("MySQL")
drucken dB
Das resultierende Array ist unten:
["Postgresql", "fauna db", "neo4j", "dynamo db", "postrgesql", "mongoDB"]
#3 - Verwenden der SHIRT () -Methode
Wie der Name schon sagt, ähnelt die Verschiebungsmethode dem Unschub. Es entfernt jedoch das erste Element im Array.
db = [
"MySQL",
"Postgresql",
"Fauna db",
"Neo4j",
"Dynamo DB",
"Postrgesql",
"MySQL",
"MongoDb"
]
db.Schicht
drucken dB
Die Methode entfernt das erste Element und gibt das Array als:
["Postgresql", "fauna db", "neo4j", "dynamo db", "postrgesql", "mysql", "mongoDb"]
Iterie über ein Array
Um jedes Element im Array zu iterieren, können wir jede Methode verwenden.
db.jeweils do | Element |
setzt Element
Ende
Die obige Methode gibt jedes Element im Array zurück.
Mysql
PostgreSQL
…
Mysql
MongoDb
Sie können wie gezeigt auch eine für die Schleife verwenden:
für Element in DB tun
setzt Element
Ende
Abschluss
Dieser Leitfaden hat Ihnen beigebracht, wie man mit Ruby -Arrays arbeitet, von den Grundlagen bis zu einem Zwischenbenutzer. Es ist gut zu beachten, dass Arrays außerhalb des Rahmens dieses Leitfadens mehr gibt. Betrachten Sie die Dokumentation, um mehr zu entdecken.