sort_by

http://itpro.nikkeibp.co.jp/article/COLUMN/20050930/221979/?ST=oss

sortが遅いと感じる場合、各要素を評価するためだけに時間がかかっている可能性がある。そんなとき、コイツの出番。

ary.sort_by{|x| x.to_i}

比較結果が同じ要素は元の順序通りに並べたいときは、こうする(リファレンスマニュアルより)

i = 0
ary.sort_by {|v| [v, i += 1] }

...っと見ていると、おぉ、ruby 1.9からmax_by、min_byなメソッドが追加されているぢゃん。

max_by {|x| x.to_i}
min_by {|x| x.to_i}