Ruby récupère les clés d'objet sous forme de tableau


98

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

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

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

["apple", "carrot"]

Votre objet est un Hash, vous pouvez donc utiliser une keysméthode comme {"apple" => "fruit", "carrot" => "vegetable"}.keys. Pour plus d'informations, visitez ruby-doc.org/core-1.9.3
taro

Réponses:


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

c'est si simple


16

Une autre façon si vous avez besoin de quelque chose de plus (en plus d'utiliser la keysméthode):

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.



2

Utilisez la keysméthode:{"apple" => "fruit", "carrot" => "vegetable"}.keys == ["apple", "carrot"]

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.