我有哈希散列,我試圖完成的是根據相同值的內部哈希計數的計數排序哈希。所以我們假設這是我的散列。紅寶石排序哈希通過內部哈希計數相同的值
hash = {
"Run1"=>{"March 24, 2013"=>"failed", "March 23, 2013"=>"failed", "March 21, 2013"=>"failed", "March 19, 2013"=>"passed", "March 18, 2013"=>"passed"},
"Run2"=>{"March 24, 2013"=>"failed", "March 23, 2013"=>"failed", "March 21, 2013"=>"failed", "March 19, 2013"=>"failed", "March 18, 2013"=>"failed"}
}
我想這樣的RUN2因爲我試圖運行的次數進行排序RUN1之前出現排序哈希「失敗」
我想我需要這樣的東西
hash.sort_by{|key, innerHash| innerHash.values.count('failed')}
任何幫助或建議是極大的讚賞
數量,使得代碼把RUN1第一。如果你想首先失敗,你應該算'通過'。 – 2013-03-25 19:28:42
或者如果你有其他狀態比傳遞/失敗,那麼你可以顛倒一個數組或傳遞負值。 – Hauleth 2013-03-25 19:36:58
您的代碼將按升序返回它們,所以只需將返回的數組反轉即可。 hash.sort_by {| key,innerHash | innerHash.values.count('failed')}。 – engineersmnky 2013-03-25 19:47:13