From: Koretsugu Daigoro Date: 1999-09-29T00:32:48+09:00 Subject: [ruby-list:17207] Re: stable sort これつぐです。 勘違いしていました。 やりたいのは「stable sort」でしたね。 しかもバグがありました。 #keyが全部同じだとエラーになる……たとえばsort('age')とか と言うわけで改良版です。 引数の指定も単にkeyを並べるようにしました。 例) ary.sort('age','name') これで、 ary.sort('name').sort('age') も意図通りになるはずです。 言い忘れてましたがrubyfaqの7.15が参考になります。 #が、990927版ではコードが書いてないですね。 class Array alias _sort sort def sort(key='name',*rest) keys=[key]+rest self.filter{|e|keys.dup.filter{|k|e[k]}+[self.index(e),e]}.sort!.filter{|e|e.pop} end end