我是Ruby新手,如果我有这样的对象
{"apple" => "fruit", "carrot" => "vegetable"}
如何返回只有键的数组?
["apple", "carrot"]
答案 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"]