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"]