105 votes

Ruby obtient les clés d'objet sous forme de tableau

Je suis nouveau sur Ruby, si j'ai un objet comme celui-ci

 {"apple" => "fruit", "carrot" => "vegetable"}

Comment puis-je retourner un tableau de clés uniquement ?

 ["apple", "carrot"]

227voto

weezor Points 2441
hash = {"apple" => "fruit", "carrot" => "vegetable"}
array = hash.keys   #=> ["apple", "carrot"]

c'est si simple

17voto

Tigraine Points 10047

Une alternative si vous avez besoin de quelque chose de plus (en plus d'utiliser la méthode keys ) :

 hash = {"apple" => "fruit", "carrot" => "vegetable"}
array = hash.collect {|key,value| key }

évidemment, vous ne le feriez que si vous souhaitez manipuler le tableau tout en le récupérant.

5voto

Jay Points 422

Comme l'a dit taro, keys renvoie le tableau de clés de votre Hash :

http://ruby-doc.org/core-1.9.3/Hash.html#method-i-keys

Vous trouverez toutes les différentes méthodes disponibles pour chaque classe.

Si vous ne savez pas à quoi vous avez affaire :

  puts my_unknown_variable.class.to_s

Cela affichera le nom de la classe.

2voto

ridecar2 Points 1287

Utiliser le keys Procédé: {"apple" => "fruit", "carrot" => "vegetable"}.keys == ["apple", "carrot"]

Prograide.com

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.

Powered by:

X