我正在尝试根据其值确定哈希中每个键相对于其他键的排名。该值为数字。排名可以重复(即 3 个键可以并列第一名)。这有效,但很难看。
standings.sort_by {|k, v| v}.reverse!
prev_k = nil
standings.each_with_index do |(k, v), i|
if i == 0
k.rank = 1
elsif v == standings[prev_k]
k.rank = prev_k.rank
else
k.rank = prev_k.rank + 1
end
prev_k = k
end