Ruby получает ключи объекта как массив

Я новичок в Ruby, если у меня есть такой объект

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

Как мне вернуть массив только ключей?

["apple", "carrot"]

Ответ 1

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

это простое

Ответ 2

Альтернативный способ, если вам нужно что-то большее (помимо использования метода keys):

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

очевидно, вы сделали бы это, только если хотите манипулировать массивом при его извлечении.

Ответ 3

Как и taro, keys возвращает массив ключей вашего хэша:

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

Вы найдете все различные методы, доступные для каждого класса.

Если вы не знаете, с чем имеете дело:

 puts my_unknown_variable.class.to_s

Это приведет к отображению имени класса.

Ответ 4

Используйте метод keys: {"apple" => "fruit", "carrot" => "vegetable"}.keys == ["apple", "carrot"]