0
我通常使用着名的sort
方法對ruby散列進行排序,如下例所示。但是,當字符串鍵中有一個下劃線時,這會非常失敗。例如:在鍵中用下劃線對ruby散列進行排序
h = {"b" => 1, "a" => 2}
Hash[h.sort]
完美排序哈希值。但是,當散列是像
h = {"b_d" => 1, "a_v" => 2}
我沒有得到所需的排序順序。這裏要注意的是h.sort
對散列進行排序併產生一個Enumerable
對象。但是當我使用Hash[h.sort]
將對象轉換回哈希時,它在這裏失去了順序。任何有關更好過程的建議都可能有所幫助。
注:我使用的是Ruby 1.8.7
,所以OrderedHash
沒有太多的鏡頭。
有什麼區別?你爲什麼要整理它? – shime
在訂購params字符串的位置簽署OAuth請求。 – Aravind
你斷言第一個例子「完美排序哈希」很可能是巧合。如果你只有2個鍵,那麼任何僞隨機排序都有50%的機會是「正確的」 – Gareth