なかだです。

At Wed, 29 Sep 1999 00:32:48 +0900,
Koretsugu Daigoro <tmmcross / hk.airnet.ne.jp> wrote:
> 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

Hash#indexes を使えばもうちょっと簡単になりそうですが、それよりも

At Tue, 28 Sep 1999 17:39:26 +0900,
OHARA Shigeki <os / iij.ad.jp> wrote:
> ary0 = [
>   { 'name' => 'angie',   'age' => '20' },
>   { 'name' => 'charlie', 'age' => '19' },
>   { 'name' => 'bob',     'age' => '20' },
> ]

  ふつーはこいつの singleton にしませんか。あと何故に age が文字
列?

class << ary0
  def sort(*keys)
    a = []
    each_with_index {|e, i| a << e.indexes(*keys).push(i, e)}
    a.sort!.filter{|e|e.pop}
  end
  def sort!(*keys)
    each_with_index{|e, i| self[i] = e.indexes(*keys).push(i, e)}.sort!.filter{|e| e.pop}
  end
end

-- 
そうだ 強気に ちょっと インチキに☆彡
    中田 "Bugるくらいがちょうどいいかも;-)" 伸悦