Méthodes de tableaux
Fait partie de la section Fondamentaux du Journey Ruby de Coddy — leçon 61 sur 88.
Ruby fournit plusieurs méthodes intégrées qui facilitent le travail avec les tableaux. Ces méthodes vous aident à trier, inverser et trouver des éléments sans avoir à écrire vous-même de code complexe.
La méthode sort trie les éléments par ordre croissant :
numbers = [3, 1, 4, 1, 5]
puts numbers.sort # Affiche : 1, 1, 3, 4, 5Pour inverser l'ordre des éléments, utilisez la méthode reverse :
letters = ["a", "b", "c"]
puts letters.reverse # Affiche : c, b, aVous pouvez combiner ces méthodes pour trier par ordre décroissant :
scores = [85, 92, 78, 95]
puts scores.sort.reverse # Affiche : 95, 92, 85, 78Les méthodes min et max trouvent rapidement les valeurs les plus petites et les plus grandes :
prices = [29, 15, 42, 8]
puts prices.min # Affiche : 8
puts prices.max # Affiche : 42Pour calculer le total d'éléments numériques, utilisez sum :
quantities = [2, 5, 3]
puts quantities.sum # Affiche : 10Notez que sort et reverse retournent de nouveaux tableaux sans modifier l'original. Pour modifier directement le tableau original, ajoutez ! au nom de la méthode, comme sort! ou reverse!.
Défi
FacileLisez une seule ligne d'entrée contenant des entiers séparés par des virgules (par exemple, 5,2,8,1,9,3).
Divisez l'entrée en un tableau d'entiers, puis affichez les éléments suivants sur des lignes séparées :
- Le tableau trié par ordre croissant (chaque élément sur sa propre ligne)
- Le tableau trié par ordre décroissant (chaque élément sur sa propre ligne)
- La valeur minimale
- La valeur maximale
- La somme de tous les éléments
Affichez une ligne vide entre chaque section pour plus de clarté.
Par exemple, si l'entrée est 5,2,8,1,9,3, la sortie devrait être :
1
2
3
5
8
9
9
8
5
3
2
1
1
9
28Si l'entrée est 10,30,20, la sortie devrait être :
10
20
30
30
20
10
10
30
60Si l'entrée est 7,3,5,1, la sortie devrait être :
1
3
5
7
7
5
3
1
1
7
16Aide-mémoire
Ruby fournit des méthodes intégrées pour travailler avec les tableaux :
La méthode sort organise les éléments par ordre croissant :
numbers = [3, 1, 4, 1, 5]
puts numbers.sort # Sortie : 1, 1, 3, 4, 5La méthode reverse inverse l'ordre des éléments :
letters = ["a", "b", "c"]
puts letters.reverse # Sortie : c, b, aCombinez les méthodes pour trier par ordre décroissant :
scores = [85, 92, 78, 95]
puts scores.sort.reverse # Sortie : 95, 92, 85, 78Les méthodes min et max trouvent les valeurs les plus petites et les plus grandes :
prices = [29, 15, 42, 8]
puts prices.min # Sortie : 8
puts prices.max # Sortie : 42La méthode sum calcule le total des éléments numériques :
quantities = [2, 5, 3]
puts quantities.sum # Sortie : 10Remarque : sort et reverse renvoient de nouveaux tableaux sans modifier l'original. Pour modifier le tableau d'origine, utilisez sort! ou reverse!.
Essayez vous-même
# Lire les entiers séparés par des virgules
input = gets.chomp
# À FAIRE : Écrivez votre code ci-dessous
# 1. Diviser l'entrée en un tableau d'entiers
# 2. Trier le tableau par ordre croissant et afficher chaque élément
# 3. Afficher une ligne vide
# 4. Trier le tableau par ordre décroissant et afficher chaque élément
# 5. Afficher une ligne vide
# 6. Afficher la valeur minimale
# 7. Afficher la valeur maximale
# 8. Afficher la somme de tous les élémentsCette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateurs logiques, partie 47Calculateur de partage de facture
Message de bienvenueSaisie de l'utilisateur10FizzBuzz avec une variante
Présentation du jeuLa méthode FizzBuzz2Variables et types de données
Nombres et variablesType de données StringType de données BooleanType de données SymbolVérification des types de donnéesConventions de nommageRécapitulatif - Création de variables5Prise de décision
Instruction IfIf - ElseRécapitulatif - Calculatrice simpleIf - Else imbriquésInstruction Unless8Boucles
Boucle For avec des intervallesBoucle WhileBreakNextRécapitulatif - FactorielleBoucle TimesBoucle UntilBoucles imbriquéesRécapitulatif - Entrée dynamique3Les opérateurs, partie 1
Opérateurs arithmétiquesOpérateur moduloRaccourcis arithmétiquesRécapitulatif - Calculs simplesOpérateurs de comparaison6Entrées/Sorties de base
Sortie avec putsSortie avec print et pSortie avec des variablesEntrée avec getsLa méthode chompConversion de typesRécapitulatif - Calculateur d'âgeRécapitulatif - Vrai ou Faux9Méthodes
Définir une méthodeParamètres de méthodeValeurs de retourRécapitulatif - Méthode SigmaRécapitulatif - Méthode de validationValeurs de paramètres par défaut12Itérer sur les collections
L'itérateur EachEach avec indexItérer sur les chaînes de caractèresMap et Collect