La prueba rudimentaria de IRB sugiere que Ruby Hash devuelve .keys
y .values
en el orden correspondiente. ¿Es seguro asumir que este es el caso?Ruby Hash .keys y .values, ¿es seguro asumir el mismo pedido?
15
A
Respuesta
16
Sí. De acuerdo con el Ruby Docs for Hash, "Hashes enumera sus valores en el orden en que se insertaron las claves correspondientes". Por lo tanto, siempre debe obtener el mismo orden para un hash si se crea de la misma manera.
8
Depende de la versión de Ruby que esté ejecutando. Hasta 1.8, la enumeración no fue ordenada por inserción. Comenzando con 1.9, enumerará las claves y los valores de acuerdo con el orden de inserción, por lo que, sí, es seguro asumirlo siempre que esté ejecutando 1.9.
Cuestiones relacionadas
- 1. La propiedad ConcurrentDictionary Keys o Values threadsafe
- 2. ¿Cómo convierto un conjunto de PHP en $ keys y $ values?
- 3. Iteración de elementos de diccionario(), values (), keys() en Python 3
- 4. ¿Es seguro asumir que un servidor tendría PHP 5?
- 5. ¿Es seguro asumir generalmente que toString() tiene un costo bajo?
- 6. ¿Es seguro asumir que un GUID siempre será único?
- 7. ¿Es seguro en Perl eliminar una clave de una referencia hash cuando hago un bucle en el mismo hash? ¿Y por qué?
- 8. ¿Es seguro asumir que el almacenamiento de vectores STL es siempre contiguo?
- 9. ¿Es seguro asumir que un puntero es del tamaño de un int en C?
- 10. NSDictionary allKeys - ¿siempre devuelve el mismo pedido?
- 11. ¿Es seguro || = en Ruby thread?
- 12. convirtiendo de xml name-values en hash simple
- 13. ¿Se garantiza que el orden de las claves() y values () en el diccionario python será el mismo?
- 14. ¿Es seguro el subproceso java.util.Hashtable?
- 15. NSArray y bool values
- 16. ¿Es seguro asumir una comparación estricta en una declaración de cambio de JavaScript?
- 17. ¿Qué versiones de Java se instalan comúnmente en los navegadores, es seguro asumir 1.4?
- 18. ¿Es seguro asumir que la ruta C: \ WINDOWS \ system32 siempre existe?
- 19. gpg --export-secret-keys
- 20. ¿Es seguro almacenar contraseñas hash con MD5CryptoServiceProvider en C#?
- 21. guava-libraries - ¿Es seguro el hilo de la clase de pedido?
- 22. ¿Es seguro asumir que los usuarios pueden ver caracteres Unicode U + 2716 y U + 2714 en contenido CSS?
- 23. la conversión de una matriz de claves y una serie de valores en un hash en Ruby
- 24. Hash invert en Ruby?
- 25. C# truthy y falsy values
- 26. Hashing and Salaring values
- 27. Django: utilizando values () y get_FOO_display()?
- 28. Ruby Hash.new vs Hash literal
- 29. Hash en Ruby
- 30. ¿Es seguro el hilo cerrado?
Tenga en cuenta que esto es cierto para 1.9, pero no necesariamente para 1.8 y anteriores – dbenhur
En 1.8 puede rectificar con keys = h.keys; valores = h.values_at * claves – djconnel