Soy nuevo en Rubí, si tengo un objeto como ésteRubí obtener las claves de objeto como matriz
{"apple" => "fruit", "carrot" => "vegetable"}
¿Cómo puedo devolver una matriz de sólo las llaves?
["apple", "carrot"]
Soy nuevo en Rubí, si tengo un objeto como ésteRubí obtener las claves de objeto como matriz
{"apple" => "fruit", "carrot" => "vegetable"}
¿Cómo puedo devolver una matriz de sólo las llaves?
["apple", "carrot"]
hash = {"apple" => "fruit", "carrot" => "vegetable"}
array = hash.keys #=> ["apple", "carrot"]
es así de simple
+1 gracias, (no puedo aceptar su respuesta hasta el límite de tiempo) –
Utilice la keys
método: {"apple" => "fruit", "carrot" => "vegetable"}.keys == ["apple", "carrot"]
como el taro dijo keys
, devuelve el conjunto de teclas de su Hash:
http://ruby-doc.org/core-1.9.3/Hash.html#method-i-keys
Encontrarás un ll los diferentes métodos disponibles para cada clase.
Si usted no sabe lo que está tratando con:
salidaputs my_unknown_variable.class.to_s
Esta voluntad el nombre de la clase.
+1 información muy útil. Gracias. –
+1 para el enlace a los documentos hash. Los principiantes de Ruby deberían familiarizarse íntimamente con los métodos Hash, String, Array y Enumerable. –
Una forma alternativa si necesita algo más (además de usar el método keys
):
hash = {"apple" => "fruit", "carrot" => "vegetable"}
array = hash.collect {|key,value| key }
, obviamente, sólo haría que si se quiere manipular la matriz, mientras que la recuperación ..
No me di cuenta de que esto era realmente lo que estaba buscando hasta que lo vi. Gracias por tener esta respuesta aquí. –
Su objetivo es un hash, por lo que puede usar el método 'keys' como' {"apple" => "fruit", "carrot" => "vegetable"}. keys'. Para obtener más información, visite http://ruby-doc.org/core-1.9.3/ – taro