Opérateurs de tableaux
Fait partie de la section Fondamentaux du Journey Ruby de Coddy — leçon 71 sur 88.
Ruby propose des opérateurs spéciaux qui vous permettent de combiner, comparer et manipuler des tableaux de manière puissante. Ces opérateurs facilitent le travail avec plusieurs tableaux à la fois.
L'opérateur + concatène deux tableaux en un nouveau :
a = [1, 2, 3]
b = [4, 5, 6]
combined = a + b
puts combined # Affiche : 1, 2, 3, 4, 5, 6L'opérateur - permet de supprimer les éléments du premier tableau qui apparaissent dans le second :
all_numbers = [1, 2, 3, 4, 5]
to_remove = [2, 4]
result = all_numbers - to_remove
puts result # Affiche : 1, 3, 5L'opérateur & retourne les éléments communs aux deux tableaux (intersection) :
a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
common = a & b
puts common # Affiche : 3, 4L'opérateur | combine des tableaux et supprime les doublons (union) :
a = [1, 2, 3]
b = [3, 4, 5]
union = a | b
puts union # Affiche : 1, 2, 3, 4, 5Tous ces opérateurs créent de nouveaux tableaux et laissent les tableaux originaux inchangés.
Défi
FacileLisez deux lignes d'entrée, chacune contenant des entiers séparés par des virgules :
- Le premier tableau (par exemple,
1,2,3,4,5) - Le second tableau (par exemple,
3,4,5,6,7)
Effectuez les opérations suivantes et affichez les résultats, chacun sur sa propre ligne :
- Affichez chaque élément de la concaténation des deux tableaux (en utilisant
+) - Affichez
---comme séparateur - Affichez chaque élément de la différence (le premier tableau moins le second, en utilisant
-) - Affichez
---comme séparateur - Affichez chaque élément de l'intersection (éléments communs, en utilisant
&) - Affichez
---comme séparateur - Affichez chaque élément de l'union (combinés sans doublons, en utilisant
|)
Par exemple, si les entrées sont 1,2,3,4,5 et 3,4,5,6,7, la sortie devrait être :
1
2
3
4
5
3
4
5
6
7
---
1
2
---
3
4
5
---
1
2
3
4
5
6
7Si les entrées sont 10,20,30 et 30,40,50, la sortie devrait être :
10
20
30
30
40
50
---
10
20
---
30
---
10
20
30
40
50Si les entrées sont 5,10,15 et 1,2,3, la sortie devrait être :
5
10
15
1
2
3
---
5
10
15
---
---
5
10
15
1
2
3Aide-mémoire
Ruby fournit des opérateurs spéciaux pour combiner, comparer et manipuler des tableaux :
L'opérateur + concatène deux tableaux :
a = [1, 2, 3]
b = [4, 5, 6]
combined = a + b # [1, 2, 3, 4, 5, 6]L'opérateur - supprime du premier tableau les éléments qui apparaissent dans le second :
all_numbers = [1, 2, 3, 4, 5]
to_remove = [2, 4]
result = all_numbers - to_remove # [1, 3, 5]L'opérateur & renvoie l'intersection (éléments communs) :
a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
common = a & b # [3, 4]L'opérateur | renvoie l'union (combinaison sans doublons) :
a = [1, 2, 3]
b = [3, 4, 5]
union = a | b # [1, 2, 3, 4, 5]Tous ces opérateurs créent de nouveaux tableaux et laissent les tableaux originaux inchangés.
Essayez vous-même
# Lire les tableaux d'entrée
input1 = gets.chomp.split(',').map(&:to_i)
input2 = gets.chomp.split(',').map(&:to_i)
# TODO: Écrivez votre code ci-dessous
# Effectuez les opérations suivantes :
# 1. Concaténation en utilisant +
# 2. Différence en utilisant -
# 3. Intersection en utilisant &
# 4. Union en utilisant |
# Affichez chaque résultat avec "---" comme séparateur entre les opérationsCette 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 FizzBuzz13Tableaux avancés
Slicing de tableaux avec des plagesSlicing de tableaux avec des indexOpérateurs de tableauxMéthode Include?2Variables 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