Ruby pobiera klucze obiektowe jako tablicę


98

Jestem nowy w Ruby, jeśli mam taki obiekt

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

Jak mogę zwrócić tablicę samych kluczy?

["apple", "carrot"]

Twój obiekt to Hash, więc możesz użyć keysmetody takiej jak {"apple" => "fruit", "carrot" => "vegetable"}.keys. Aby uzyskać więcej informacji, odwiedź ruby-doc.org/core-1.9.3
taro

Odpowiedzi:


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

to takie proste


16

Alternatywny sposób, jeśli potrzebujesz czegoś więcej (poza zastosowaniem keysmetody):

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

oczywiście zrobiłbyś to tylko wtedy, gdybyś chciał manipulować tablicą podczas jej pobierania ..



2

Użyj keysmetody:{"apple" => "fruit", "carrot" => "vegetable"}.keys == ["apple", "carrot"]

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.