Trouver une valeur dans un tableau Ruby

Nurudeen Ibrahim 18 avril 2022
Trouver une valeur dans un tableau Ruby

La meilleure façon de trouver une valeur dans un tableau Ruby est d’utiliser la méthode find ou detect ; les deux sont des alias et peuvent être utilisés de manière interchangeable. Ils acceptent un argument de bloc et renvoient la première valeur qui satisfait une condition donnée spécifiée dans le bloc.

L’exemple ci-dessous recherche le nombre impair dans un tableau de 2 à 4.

Exemple de code :

numbers = [2, 3, 4]
odd_number = numbers.find { |n| n.odd? }
puts odd_number

Production :

3

Exemple de code :

numbers = [2, 3, 4]
odd_number = numbers.detect { |n| n.odd? }
puts odd_number

Production :

3

Une autre façon de trouver une valeur dans un tableau est d’utiliser la méthode select.

Bien qu’il ne soit pas efficace, il convient de le mentionner. C’est inefficace parce qu’il parcourt tout le tableau que nous recherchons, que la valeur que nous recherchions soit au début ou à la fin du tableau, contrairement aux méthodes find et detect qui arrêtent d’itérer dès qu’elles trouvent la valeur.

Il convient également de mentionner que la méthode select est conçue pour rechercher plusieurs valeurs et les renvoyer sous forme de tableau. En supposant que nous nous attendions à plusieurs nombres impairs dans l’exemple ci-dessus, la méthode select aurait été une méthode préférée à utiliser.

Exemple de code :

numbers = [2, 3, 4, 5]
odd_numbers = numbers.select { |n| n.odd? }
puts odd_numbers

Production :

[3, 5]

Article connexe - Ruby Array