Jestem nowym Ruby, jeśli mam obiekt jak tenRuby dostać klucze obiekt jako tablicy
{"apple" => "fruit", "carrot" => "vegetable"}
Jak mogę zwrócić tablicę zaledwie klawiszach?
["apple", "carrot"]
Jestem nowym Ruby, jeśli mam obiekt jak tenRuby dostać klucze obiekt jako tablicy
{"apple" => "fruit", "carrot" => "vegetable"}
Jak mogę zwrócić tablicę zaledwie klawiszach?
["apple", "carrot"]
hash = {"apple" => "fruit", "carrot" => "vegetable"}
array = hash.keys #=> ["apple", "carrot"]
to proste
+1 dziękuję, (nie można zaakceptować odpowiedzi do czasu) –
Użyj metody keys
: {"apple" => "fruit", "carrot" => "vegetable"}.keys == ["apple", "carrot"]
jak taro powiedział keys
zwraca tablicę kluczy swojego Hash:
http://ruby-doc.org/core-1.9.3/Hash.html#method-i-keys
Znajdziesz Wszystkie dostępne metody dla każdej klasy.
Jeśli nie wiesz, co masz do czynienia z:
wyjściuputs my_unknown_variable.class.to_s
będzie to nazwa klasy.
+1 bardzo przydatne informacje. Dzięki. –
+1 dla linku do Hash docs. Nowicjusze Ruby powinni zaznajomić się z metodami Hash, String, Array i Enumerable. –
Alternatywnym sposobem, jeśli potrzebujesz czegoś więcej (oprócz stosując metodę keys
):
hash = {"apple" => "fruit", "carrot" => "vegetable"}
array = hash.collect {|key,value| key }
oczywiście byś zrobić tylko, że jeśli chcą manipulować tablicy podczas pobierania go ..
Nie zdawałem sobie sprawy, że tak naprawdę tego szukałem, dopóki tego nie zobaczyłem. Dziękuję za odpowiedź. –
Twój obiekt jest hasłem, więc możesz użyć metody 'keys' jak' {"apple" => "fruit", "carrot" => "vegetable"}. keys'. Aby uzyskać więcej informacji, odwiedź http://ruby-doc.org/core-1.9.3/ – taro