注意:我使用的是 ruby 1.9.3,我不能带来任何外部依赖。我必须使用核心库来做到这一点。
@run_histogram 是名称到值数组的哈希值(此时有两个值,:failure 和 :run)
foo = @run_histogram.sort_by { |scenario_name, failure_and_run_count|
(failure_and_run_count[:failure].to_f / failure_and_run_count[:run].to_f) * -100.0
}
foo.each{|x| puts x[0]; puts x[1][:run]; puts x[1][:failure] }
排序工作正常,但现在我的问题是我希望能够打印出场景名称(哈希的索引),然后打印出运行和失败计数。
不幸的是,目前我在使用 sort_by 后被迫使用数组的索引,这很糟糕。它们是“神奇的数字”。我宁愿继续使用 :run 和 :failure 符号来访问数据。
有人有更好的解决方案吗?