Array sortieren Ruby

Array sortieren Ruby
Ruby ist eine vereinfachte und leistungsstarke Programmiersprache, die außergewöhnliche Funktionen für tägliche Programmiervorgänge bietet.

Da Arrays ein grundlegendes Objekt in Ruby und anderen Programmiersprachen sind, bietet Ruby eine Möglichkeit, Elemente zu sortieren, ohne einen hervorragenden benutzerdefinierten Algorithmus zu schreiben.

In diesem Leitfaden werden Sie beigebracht, wie Sie ein Array sortieren, indem Sie die integrierten Methoden und Funktionen von Ruby verwenden.

Wie man ein Array sortiert

Ruby bietet verschiedene Möglichkeiten, ein Array zu sortieren. Die Sort- und Sort- und Sort_by -Methoden in Ruby sind einige der grundlegendsten für die Sortierung eines Arrays.

#1: Verwenden der Sortiermethode

Die Sortiermethode ist im aufzählbaren Modul definiert und gibt die Werte des Arrays sortiert zurück.

Zum Beispiel:

nums = [1,20, 23, 28, 2, 100, 34, 53, 22, 21, 11]
drucken nums.Sortieren
[1, 2, 11, 20, 21, 22, 23, 28, 34, 53, 100]

Standardmäßig gibt die Methode die Elemente im Array zurück in aufsteigender Reihenfolge zurück.

Es funktioniert mit dem Raumschiff -Operator, der 1 zurückgibt, wenn ein Wert größer als 0 für gleich ist und -1 für weniger als.

Wenn Sie eine Reihe von Saiten angeben, befindet sich das sortierte Array in alphabetischer Reihenfolge wie folgt:

Datenbanken = %W MySQL, Postgresql, Redis, Memcached, MongoDB, Elasticsearch
Datenbanken drucken.Sortieren
["Elasticsearch", "Memcached", "MongoDB", "MySQL", "Postgresql", "Redis,"]

Sie können einen Block an die Sortierfunktion übergeben, wenn Sie eine benutzerdefinierte Sortierreihenfolge implementieren möchten. Beispielsweise implementiert der folgende impliziert eine umgekehrte Reihenfolge mit der Sortiermethode.

nums = [1, 2, 11, 20, 21, 22, 23, 28, 34, 53, 100]
drucken nums.sortieren | x, y | y x
[100, 53, 34, 28, 23, 22, 21, 20, 11, 2, 1]

Mit Ruby können Sie auch ein Array mit der Sortierung sortieren! Methode. Die Methode beeinflusst die ursprüngliche Methode in das neue sortierte Array als:

nums = [1, 2, 11, 20, 21, 22, 23, 28, 34, 53, 100]
nums.Sortieren!
drucken nums
[1, 2, 11, 20, 21, 22, 23, 28, 34, 53, 100]

Hinweis: Verwenden Sie die Sortierung! Methode mit Vorsicht; Es überschreibt das ursprüngliche Array, wie im obigen Beispiel gezeigt.

#2: sort_by -Methode

Die Methode Sort_by bietet Flexibilität beim Sortieren im Vergleich zur Sortiermethode. Sehen wir uns einige Beispiele an, um zu sehen, wie das Sortieren mit der Sort_by -Methode funktioniert.

Das erste Beispiel ist die Sortierung nach der Länge einer Zeichenfolge.

Datenbanken = ["Elasticsearch", "memcached", "mongoDB", "mySQL", "postgreSQL,", "redis"]
Datenbanken drucken.Sort_by | Inhalt | Inhalt.Länge
["Redis", "MySQL", "MongoDB", "Memcached", "Postgresql", "Elasticsearch"]

Die Sortierung der Elemente im Array erfolgt in aufsteigender Reihenfolge basierend auf der Länge des String -Inhalts.

Wir verwenden die Länge Eigenschaft der Zeichenfolge, da die Sort_by -Methode einen numerischen Wert erwartet.

Nehmen wir an, wir möchten die Zeichenfolge in umgekehrter Reihenfolge mit der Methode Sort_by sortieren? In einem solchen Fall können wir wie unten gezeigt einen Minus -Operator hinzufügen, wie gezeigt:

Datenbanken = ["Elasticsearch", "memcached", "mongoDB", "mySQL", "postgreSQL,", "redis"]
Datenbanken drucken.Sort_by | Inhalt | -Inhalt.Länge

Das obige Beispiel gibt das sortierte Array in absteigender Reihenfolge zurück.

Schließen

Diese Anleitung hat Ihnen gezeigt, wie Sie mit Arrays arbeiten und sie mit integrierten Ruby-Methoden sortieren.