Rubyでクイックソート

仕事中に見つけて思わずのめりこんでしまいました。
http://rubygof.googlecode.com/svn/trunk/strategy.rb

class QuickSort
    def sort arr
        return [] if arr.length == 0
        x, *xs = *arr
        smaller, bigger = xs.partition{ |other| other < x }
        sort(smaller) + [x] + sort(bigger)
    end
end

こんなに綺麗なコードで実現できるなんて、やっぱりRubyは奥が深い。