Trier du tableau Ruby

Trier du tableau Ruby
Ruby est un langage de programmation simpliste et puissant qui offre des fonctionnalités exceptionnelles pour les opérations de programmation quotidiennes.

Parce que les tableaux sont un objet fondamental dans Ruby et d'autres langages de programmation, Ruby fournit un moyen de trier les éléments sans écrire un excellent algorithme personnalisé.

Ce guide vous apprendra comment trier un tableau en utilisant les méthodes et les fonctionnalités intégrées de Ruby.

Comment trier un tableau

Ruby fournit différentes façons de trier un tableau. Les méthodes de tri et de sort_by dans Ruby sont parmi les plus fondamentales pour trier un tableau.

# 1: en utilisant la méthode de tri

La méthode de tri est définie dans le module énumérable, et il renvoie les valeurs du tableau trié.

Par exemple:

NUMS = [1,20, 23, 28, 2, 100, 34, 53, 22, 21, 11]
nombres imprimés.trier
[1, 2, 11, 20, 21, 22, 23, 28, 34, 53, 100]

Par défaut, la méthode renvoie les éléments dans le tableau trié dans l'ordre croissant.

Il fonctionne en utilisant l'opérateur de vaisseau spatial, qui renvoie 1 si une valeur est supérieure à, 0 pour égale à et -1 pour moins que.

Si vous fournissez une gamme de chaînes, le tableau trié sera en ordre alphabétique comme:

bases de données =% w mysql, postgresql, redis, memcached, mongodb, elasticsearch
Bases de données imprimées.trier
["Elasticsearch", "memcached", "mongodb", "mysql", "postgresql", "redis,"]

Vous pouvez passer un bloc à la fonction de tri si vous souhaitez implémenter un ordre de tri personnalisé. Par exemple, le suivant implémente un ordre inverse en utilisant la méthode de tri.

NUMS = [1, 2, 11, 20, 21, 22, 23, 28, 34, 53, 100]
nombres imprimés.trier | x, y | y x
[100, 53, 34, 28, 23, 22, 21, 20, 11, 2, 1]

Ruby vous permet également de trier un tableau en place en utilisant le tri! méthode. La méthode affectera la méthode d'origine dans le nouveau tableau trié comme:

NUMS = [1, 2, 11, 20, 21, 22, 23, 28, 34, 53, 100]
nombres.trier!
nombres imprimés
[1, 2, 11, 20, 21, 22, 23, 28, 34, 53, 100]

Remarque: utilisez le tri! Méthode avec prudence; Il écrase le tableau d'origine, comme indiqué dans l'exemple ci-dessus.

# 2: Méthode Sort_By

La méthode SORT_BY offre une flexibilité lors du tri par rapport à la méthode de tri. Regardons quelques exemples pour voir comment fonctionne le tri à l'aide de la méthode SORT_BY.

Le premier exemple est le tri par la longueur d'une chaîne.

bases de données = ["elasticsearch", "memcached", "mongodb", "mysql", "postgresql", "redis"]
Bases de données imprimées.SORT_BY | Contenu | contenu.longueur
["Redis", "mysql", "mongodb", "memcached", "postgresql", "elasticsearch"]

Le tri des éléments du tableau se produit dans l'ordre croissant en fonction de la longueur du contenu de la chaîne.

Nous utilisons la propriété de longueur de la chaîne car la méthode sort_by attend une valeur numérique.

Supposons que nous voulons trier la chaîne dans l'ordre inverse en utilisant la méthode SORT_BY? Dans un tel cas, nous pouvons ajouter une longueur d'opérateur moins, comme indiqué ci-dessous:

bases de données = ["elasticsearch", "memcached", "mongodb", "mysql", "postgresql", "redis"]
Bases de données imprimées.SORT_BY | Contenu | -contenu.longueur

L'exemple ci-dessus renverra le tableau trié dans l'ordre descendant.

Fermeture

Ce guide vous a montré comment travailler avec des tableaux et les trier en utilisant des méthodes de rubis intégrées.