Méthode Include?
Fait partie de la section Fondamentaux du Journey Ruby de Coddy — leçon 72 sur 88.
Lorsque vous travaillez avec des tableaux, vous avez souvent besoin de vérifier si un élément spécifique existe avant d'effectuer une action. La méthode include? de Ruby répond directement à cette question, en renvoyant true ou false.
fruits = ["apple", "banana", "orange"]
puts fruits.include?("banana") # Sortie : true
puts fruits.include?("grape") # Sortie : falseLa méthode vérifie une correspondance exacte, elle est donc sensible à la casse avec les chaînes de caractères :
colors = ["Red", "Green", "Blue"]
puts colors.include?("Red") # Affiche : true
puts colors.include?("red") # Affiche : falseCette méthode est particulièrement utile dans les instructions conditionnelles. Au lieu de parcourir un tableau pour trouver un élément, vous pouvez simplement demander s'il s'y trouve :
allowed_users = ["alice", "bob", "charlie"]
current_user = "bob"
if allowed_users.include?(current_user)
puts "Access granted"
else
puts "Access denied"
endLa méthode include? fonctionne avec n'importe quel type de données stocké dans le tableau, y compris les nombres, les symboles et même d'autres tableaux.
Défi
FacileLisez deux lignes d'entrée :
- Une liste d'articles disponibles dans un magasin, sous forme de chaînes de caractères séparées par des virgules (par exemple,
apple,banana,orange,milk,bread) - Une liste d'articles sur votre liste de courses, sous forme de chaînes de caractères séparées par des virgules (par exemple,
banana,eggs,milk,cheese)
Pour chaque article de votre liste de courses, vérifiez s'il est disponible dans le magasin en utilisant la méthode include?. Affichez chaque article suivi de Available ou Not available selon qu'il existe ou non dans l'inventaire du magasin.
N'oubliez pas que include? vérifie les correspondances exactes, la comparaison est donc sensible à la casse.
Par exemple, si les entrées sont apple,banana,orange,milk,bread et banana,eggs,milk,cheese, la sortie devrait être :
banana - Available
eggs - Not available
milk - Available
cheese - Not availableSi les entrées sont Red,Green,Blue et red,Green,Yellow, la sortie devrait être :
red - Not available
Green - Available
Yellow - Not availableSi les entrées sont coffee,tea,juice et coffee,water,tea, la sortie devrait être :
coffee - Available
water - Not available
tea - AvailableSi les entrées sont pen,pencil,eraser et pen, la sortie devrait être :
pen - AvailableAide-mémoire
La méthode include? vérifie si un élément spécifique existe dans un tableau, en renvoyant true ou false :
fruits = ["apple", "banana", "orange"]
puts fruits.include?("banana") # Sortie : true
puts fruits.include?("grape") # Sortie : falseLa méthode effectue une correspondance exacte et est sensible à la casse avec les chaînes de caractères :
colors = ["Red", "Green", "Blue"]
puts colors.include?("Red") # Sortie : true
puts colors.include?("red") # Sortie : falseUtilisez include? dans des instructions conditionnelles pour vérifier la présence d'un élément :
allowed_users = ["alice", "bob", "charlie"]
current_user = "bob"
if allowed_users.include?(current_user)
puts "Access granted"
else
puts "Access denied"
endLa méthode include? fonctionne avec n'importe quel type de données, y compris les nombres, les symboles et les tableaux.
Essayez vous-même
# Lire l'inventaire du magasin (articles séparés par des virgules)
store_items = gets.chomp.split(",")
# Lire la liste de courses (articles séparés par des virgules)
shopping_list = gets.chomp.split(",")
# TODO: Écrivez votre code ci-dessous
# Pour chaque article de la liste de courses, vérifiez s'il est disponible dans le magasin
# en utilisant la méthode include? et affichez le résultatCette 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