クラス変数 'wins' と 'losses' を持つクラス Team を考えてみましょう。次のように、チームの配列を勝敗比で並べ替えたいと考えています。
5:0 > 3:0 > 1:0 > 3:1 > 5:5 > 3:3 > 1:3 > 0:1 > 0:3 > 0:5
私はすでに (部分的に) 一緒にハッキングされた解決策を持っていますが、これには満足していません。この問題を解決するための、よりクリーンでエレガントでシンプルな方法があるかどうか疑問に思っています。
def ratio
if @losses == 0 then
return 1000000+@wins
end
if @wins == 0 then
return 0-@losses
end
return @wins/@losses
end
(これは 5:5 > 3:3 を修正しません)
これは Team クラスにあり、次のように使用できます。
teams.sort! { |a, b| b.ratio <=> a.ratio }
これを解決する最も簡単な方法は何ですか? (ソリューションは Ruby である必要はありません。OO であれば何でも構いません)