Ruby获取对象键作为数组

我是Ruby的新手,如果我有这样的对象

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

我怎样才能返回一个只有键的数组?

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

这很简单

另一种方式,如果你需要更多的东西(除了使用keys方法):

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

显然你只会这样做,如果你想操纵数组,而检索它..

就像芋头说的, keys返回你的哈希keys的数组:

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

你会find所有不同的方法可用于每个类。

如果你不知道你在处理什么:

  puts my_unknown_variable.class.to_s 

这将输出类名称。

使用keys方法: {"apple" => "fruit", "carrot" => "vegetable"}.keys == ["apple", "carrot"]