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]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, ElasticsearchSie 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]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]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"]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"]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.