¿Es el mismo orden en el que se agregaron los elementos al Hash?Ruby: ¿Cuál es el orden de las claves/valores devueltos por los métodos Hash.keys y Hash.values?
13
A
Respuesta
25
La parte superior de the Ruby 1.9.2 documentation for the Hash class declara:
Hashes enumerar sus valores en el orden en que las teclas correspondientes se insertaron.
pruebas superficiales sugieren que esto se aplica de hecho a la vez Hash#keys
y Hash#values
, aunque no parece la documentación correspondiente para aquellos métodos que lo especifique.
+5
Tenga en cuenta que este comportamiento era nuevo en Ruby 1.9. Las versiones anteriores no conservaban el orden. –
13
En Ruby 1.8, no hay un orden garantizado para los elementos en un hash.
Cuestiones relacionadas
- 1. ¿Cómo manejar el orden de los métodos en Ruby?
- 2. SQL: ¿Cuál es el orden por defecto de las consultas?
- 3. Orden de los elementos devueltos mediante getElementsByTagName()
- 4. ¿Cuál es el propósito de los métodos de matriz de Ruby assoc y rassoc?
- 5. ¿Cuál es la diferencia entre los métodos dup y clone de Ruby?
- 6. enum.values () - es una orden de enumeraciones devueltos determinista
- 7. ¿Cuál es la diferencia entre los métodos de escritura y publicación de Ruby?
- 8. ¿Cuál es el máximo número de métodos por clase .NET
- 9. ¿Cuál es la diferencia entre los métodos y atributos en Ruby?
- 10. Formato de los datos devueltos por el comando FTP LIST?
- 11. S3 y el orden de las clases
- 12. Cuál es la diferencia entre las expresiones de consulta LINQ y los métodos de extensión
- 13. ¿Cuál es la diferencia entre los métodos iterator y view?
- 14. ¿Cuál es el orden de sobrescribir las propiedades de Maven en pom.xml y settings.xml?
- 15. ¿Cuál es el operador <= en las clases de Ruby?
- 16. ¿Cuál es el orden en que se llaman los destructores y los constructores en C++
- 17. ¿Cuál es la mejor práctica cuando el orden de las llamadas en clase es importante?
- 18. Ruby mixins y super métodos de llamada
- 19. unicidad aplica los métodos y las limitaciones
- 20. Linq y el orden por
- 21. ¿Cuál es la diferencia entre los métodos anónimos (C# 2.0) y las expresiones lambda (C# 3.0)?
- 22. ¿Cuál es el orden de ejecución en NUnit?
- 23. Operadores y métodos en Ruby
- 24. ¿Es posible garantizar el orden en que se invocan los métodos de @PostConstruct?
- 25. ¿Por qué el orden de las declaraciones es importante para los inicializadores estáticos?
- 26. ¿Cuál es la diferencia entre las versiones de "sí mismo" de Ruby y Python?
- 27. ¿Cuál es el equivalente Ruby de "pythonic"?
- 28. ¿Cuál es la diferencia entre incluir y extender en Ruby?
- 29. Ruby Métodos y parámetros opcionales
- 30. ¿Qué determina el orden de ejecución de los métodos en las cadenas jQuery?
Como puede ver por la suma de los comentarios a continuación, este comportamiento es diferente entre las versiones 1.8 y 1.9 de Ruby. – coreyward