97 Sou novo em Ruby, se tenho um objeto como este {"apple" => "fruit", "carrot" => "vegetable"} Como posso retornar um array apenas com as chaves? ["apple", "carrot"] ruby JD Isaacks fonte Seu objeto é um Hash, então você pode usar o keysmétodo como {"apple" => "fruit", "carrot" => "vegetable"}.keys. Para obter mais informações, visite ruby-doc.org/core-1.9.3 taro Respostas: 217 hash = {"apple" => "fruit", "carrot" => "vegetable"} array = hash.keys #=> ["apple", "carrot"] é simples assim weezor fonte 16 Uma forma alternativa se você precisar de algo mais (além de usar o keysmétodo): hash = {"apple" => "fruit", "carrot" => "vegetable"} array = hash.collect {|key,value| key } obviamente, você só faria isso se quiser manipular o array enquanto o recupera. Tigraine fonte 4 Como disse o taro, keysretorna a matriz de chaves do seu Hash: http://ruby-doc.org/core-1.9.3/Hash.html#method-i-keys Você encontrará todos os diferentes métodos disponíveis para cada classe. Se você não sabe com o que está lidando: puts my_unknown_variable.class.to_s Isso produzirá o nome da classe. ilíptico fonte 2 Use o keysmétodo:{"apple" => "fruit", "carrot" => "vegetable"}.keys == ["apple", "carrot"] ridecar2 fonte
217 hash = {"apple" => "fruit", "carrot" => "vegetable"} array = hash.keys #=> ["apple", "carrot"] é simples assim weezor fonte
16 Uma forma alternativa se você precisar de algo mais (além de usar o keysmétodo): hash = {"apple" => "fruit", "carrot" => "vegetable"} array = hash.collect {|key,value| key } obviamente, você só faria isso se quiser manipular o array enquanto o recupera. Tigraine fonte
4 Como disse o taro, keysretorna a matriz de chaves do seu Hash: http://ruby-doc.org/core-1.9.3/Hash.html#method-i-keys Você encontrará todos os diferentes métodos disponíveis para cada classe. Se você não sabe com o que está lidando: puts my_unknown_variable.class.to_s Isso produzirá o nome da classe. ilíptico fonte
2 Use o keysmétodo:{"apple" => "fruit", "carrot" => "vegetable"}.keys == ["apple", "carrot"] ridecar2 fonte
keys
método como{"apple" => "fruit", "carrot" => "vegetable"}.keys
. Para obter mais informações, visite ruby-doc.org/core-1.9.3Respostas:
é simples assim
fonte
Uma forma alternativa se você precisar de algo mais (além de usar o
keys
método):obviamente, você só faria isso se quiser manipular o array enquanto o recupera.
fonte
Como disse o taro,
keys
retorna a matriz de chaves do seu Hash:http://ruby-doc.org/core-1.9.3/Hash.html#method-i-keys
Você encontrará todos os diferentes métodos disponíveis para cada classe.
Se você não sabe com o que está lidando:
Isso produzirá o nome da classe.
fonte
Use o
keys
método:{"apple" => "fruit", "carrot" => "vegetable"}.keys == ["apple", "carrot"]
fonte