1.7系から?かな使えるようになったのは。 [[5,2],[1,2],[9,8],[5,9],[3,5],[3,4],[5,3]] こんな配列があって、0番目を降順、1番目を昇順でソートしたいって時が多々ある。SQLだと簡単なんだが・・・。と言いつつもrubyでも簡単にできるこの素晴らしさ。 irb(main):001:0> arr = [[5,2],[1,2],[9,8],[5,9],[3,5],[3,4],[5,3]] irb(main):002:0> arr.sort_by{|a| [-a[0], a[1]]} => [[9, 8], [5, 2], [5, 3], [5, 9], [3, 4], [3, 5], [1, 2]] 仮にa[1]の値がTimeであれば、単純に.to_iしてやればそれで済む。これなら、ORDER BY a desc, bの感覚で使えるな。