Soru Ruby Hash .keys ve .values, aynı sipariş kabul etmek güvenli mi?


Rudimentary irb testi Ruby Hash'in geri döndüğünü gösteriyor .keys ve .values eşleşen sırayla. Durumun böyle olduğunu varsaymak güvenli mi?


18
2017-07-05 18:39


Menşei




Cevaplar:


Evet. Göre Hash için Ruby Docs, "Hashes, değerlerini, karşılık gelen anahtarların eklendiği sırayla numaralandırır." Yani aynı şekilde yaratılırsa, her zaman bir karma için aynı siparişi almalısınız.


17
2017-07-05 18:45



Not, bu 1,9 için geçerlidir, ancak zorunlu olarak 1.8 ve öncesi için geçerli değildir. - dbenhur
1.8'de keys = h.keys ile düzeltebilirsiniz; değerler = h.values_at * tuşları - djconnel


Çalıştığınız Ruby sürümüne bağlı olarak değişir. 1,8'e kadar, numaralandırma ekleme siparişi verilmedi. 1.9 ile başlayarak, ekleme sırasına göre anahtarları ve değerleri sıralayacaktır, evet, 1.9 çalıştırdığınız sürece kabul etmek güvenlidir.


8
2017-07-05 19:04