Ruby将对象键作为数组获取

时间:2011-12-28 15:26:45

标签: ruby

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

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

如何返回只有键的数组?

["apple", "carrot"]

4 个答案:

答案 0 :(得分:198)

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

就是这么简单

答案 1 :(得分:13)

如果您需要更多内容(除了使用keys方法)之外的另一种方法:

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

显然,如果你想在检索时操纵数组,你只会这样做。

答案 2 :(得分:4)

就像taro所说,keys返回哈希的键数组:

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

你会发现每个班级都有不同的方法。

如果您不知道自己在做什么:

 puts my_unknown_variable.class.to_s

这将输出班级名称。

答案 3 :(得分:2)

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