Vérifier si la valeur existe dans le tableau en Ruby

Stewart Nguyen 30 janvier 2023
  1. Utiliser la méthode Array#include? pour vérifier l’existence d’une valeur dans un tableau Ruby
  2. Utiliser la méthode Array#any? pour vérifier si une valeur existe dans un tableau Ruby
  3. Utilisez la méthode Array#index pour vérifier si la valeur existe dans le tableau Ruby
Vérifier si la valeur existe dans le tableau en Ruby

En Ruby, un tableau est un type de données commun. Il contient des éléments de différents types de données, notamment des nombres, des chaînes, des booléens et même un autre tableau.

Nous pouvons avoir besoin de vérifier si une valeur existe dans un tableau donné dans certaines circonstances. Cet article explique comment procéder à l’aide des méthodes intégrées du tableau.

Utiliser la méthode Array#include? pour vérifier l’existence d’une valeur dans un tableau Ruby

Array#include? semble être le moyen le plus simple de vérifier si une valeur réside dans un tableau.

Si un élément est dans le tableau, Array#include? renvoie true, sinon false.

print(['ruby', 'sapphire', 'amber'].include?('ruby'))
print("\n")
print(['ruby', 'sapphire', 'amber'].include?('moonstone'))

Production :

true
false

Utiliser la méthode Array#any? pour vérifier si une valeur existe dans un tableau Ruby

On pourrait aussi utiliser Array#any? au lieu de Array#include? pour voir si un tableau contient une valeur. Parce que Array#any? accepte un bloc, il est idéal pour une logique de vérification complexe.

Il renvoie true si le bloc renvoie une valeur autre que false ou nil.

print(['ruby', 'sapphire', 'amber'].any? { |gem| gem == 'moonstone' })
print("\n")
print(['ruby', 'sapphire', 'amber'].any? { |gem| gem == 'ruby' })

Production :

false
true

Le code ci-dessous utilisera any? pour voir si le tableau contient des gemmes d’une taille supérieure à quatre.

print(['ruby', 'sapphire', 'amber'].any? { |gem| gem.size > 4 })

Production :

true

Utilisez la méthode Array#index pour vérifier si la valeur existe dans le tableau Ruby

Il prend soit une seule valeur, comme include? fait, ou un bloc.

Array#index renvoie l’index de la valeur correspondante, sinon renvoie nil, contrairement à include? et any? qui renvoient un booléen.

print(['ruby', 'sapphire', 'amber'].index { |gem| gem == 'ruby' })
print("\n")
print(['ruby', 'sapphire', 'amber'].index { |gem| gem.size > 10 })

Production :

0
#returns nil

Article connexe - Ruby Array