2012-07-05 5 views

risposta

16

Sì. Secondo lo Ruby Docs for Hash, "Gli hash numerano i loro valori nell'ordine in cui sono state inserite le chiavi corrispondenti." Quindi dovresti sempre ottenere lo stesso ordine per un hash se viene creato allo stesso modo.

+2

Nota questo vale per 1.9, ma non necessariamente per 1.8 e precedenti – dbenhur

+1

In 1.8 è possibile correggere con keys = h.keys; valori = h.values_at * chiavi – djconnel

8

Dipende dalla versione di Ruby in esecuzione. Fino a 1.8, l'enumerazione non è stata inserita nell'ordine. A partire dalla versione 1.9, enumererà le chiavi e i valori in base all'ordine di inserimento, quindi, si può assumere fino a quando si esegue 1.9.

Problemi correlati