15
基本的irb測試表明Ruby Hash按照匹配順序返回.keys
和.values
。假設情況是否可以安全?紅寶石哈希.keys和.values,安全地承擔相同的順序?
基本的irb測試表明Ruby Hash按照匹配順序返回.keys
和.values
。假設情況是否可以安全?紅寶石哈希.keys和.values,安全地承擔相同的順序?
是的。根據Ruby Docs for Hash,「哈希按照相應的鍵被插入的順序枚舉它們的值。」因此,如果以相同的方式創建散列,您應始終獲得相同的散列順序。
取決於您正在運行的是哪個Ruby版本。 最多爲1.8,枚舉不是插入順序的。從1.9開始,它將根據插入順序枚舉鍵和值,因此,只要您運行1.9,就可以安全地進行假設。
請注意,對於1.9而言,這是正確的,但不一定是1.8和更早版本 – dbenhur 2012-07-05 19:22:25
在1.8版中,您可以使用keys = h.keys;值= h.values_at *鍵 – djconnel 2012-07-05 19:51:07