En Ruby, comment puis-je trouver une valeur dans un tableau ?
J'utiliserais Array#index, mais consulter l'API Ruby Array est une excellente astuce.
En Ruby, comment puis-je trouver une valeur dans un tableau ?
Si vous essayez de déterminer si une certaine valeur existe dans un tableau, vous pouvez utiliser la fonction Array#include ?(valeur) :
a = [1,2,3,4,5]
a.include?(3) # => true
a.include?(9) # => false
Si vous voulez dire autre chose, vérifiez le API Ruby Array
Comme ça ?
a = [ "a", "b", "c", "d", "e" ]
a[2] + a[0] + a[1] #=> "cab"
a[6] #=> nil
a[1, 2] #=> [ "b", "c" ]
a[1..3] #=> [ "b", "c", "d" ]
a[4..7] #=> [ "e" ]
a[6..10] #=> nil
a[-3, 3] #=> [ "c", "d", "e" ]
# special cases
a[5] #=> nil
a[5, 1] #=> []
a[5..10] #=> []
ou comme ça ?
a = [ "a", "b", "c" ]
a.index("b") #=> 1
a.index("z") #=> nil
Vous pouvez utiliser Array.select o Array.index pour le faire.
Je sais que cette question a déjà reçu une réponse, mais je suis venu ici pour chercher un moyen de filtrer les éléments d'un tableau en fonction de certains critères. Voici donc l'exemple de ma solution : en utilisant select
Je trouve toutes les constantes de la classe qui commencent par "RUBY_".
Class.constants.select {|c| c.to_s =~ /^RUBY_/ }
UPDATE : Entre-temps, j'ai découvert que Array#grep fonctionne beaucoup mieux. Pour l'exemple ci-dessus,
Class.constants.grep /^RUBY_/
a fait l'affaire.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Désolé pour ce type de question, je suis nouveau ici, et j'apprends à utiliser cet outil, je vais essayer de trouver les réponses avant de poster ici.
118 votes
À tous ceux qui se plaignent de ce genre de questions : lisez la FAQ : Aucune question n'est trop banale ou trop "novice". Si vous n'aimez pas la question, n'y répondez pas et laissez quelqu'un d'autre le faire. Si la question a déjà été posée et répondue sur SO, alors bien sûr, marquez-la comme un doublon. Mais il n'y a aucune raison de réprimander les nouveaux arrivants parce qu'ils sont nouveaux.