ごとけんです

sort と sort! を以下のように変更しませんか??

 * ブロック変数が1個だったらブロックの評価値についてソート
 * ブロック引数が2個だったら今まで通り

御意見お待ちしてます :-)

-- gotoken

#ちなみに Ruby で書くならこんな感じ:

class Array alias _sort sort def sort(&block) a = block.arity a = -(a+1) if a < 0 case a when 1 collect{|i| [yield(i),i]}._sort.filter{|i| i.pop} when 2 _sort(&block) else raise ArgumentError, "#arg of block mismatch (`#{a}' for 1 or 2)" end end def sort!(&block) replace sort(&block) end end a = [7,1,50,6,5] a.sort!{|i| i.to_s} #=> [1,5,50,6,7]