Ruby非常にお洒落な使い方満足せる豚。眠たげなポチ。:[Ruby] テーブルっぽいデータをシンプルにソートする ちょっとsort_byメソッドに注目してみる。Rubyにはsortメソッドがあるが、何度も評価してしまうので効率が悪い。sort_byだと一度全ての項目を評価してしまって、比べてやるということだ。 [4,2,3].sort{|a,b| b.next a.next} #↑ ↑ここの部分が繰り返し使われる =>[2,3,4] #バブルソートだと思われるのでこんな感じかなぁ。 class Array def sort ar = self.clone (ar.size).times do |i| (ar.size - 1).times do |j| if yield(ar[j], ar[j - 1]) > 0 #ここですっごい評価されちゃうから d = ar[j] ar[j] = a