@m_seki の

I like ruby tooから引っ越し

分類も並び替えもsortだし

MapReduce、まだやってる。keyは分類済み(同じkeyを持つタプルの値を集めて返す)なのはわかるけど、順序付き(Reduceが実行されるときのkeyの順序は固定)でなくてはならないなのかなあ。Reduceは並行に動きそうだから、順序に意味なさそうな気がするんだけど、まあ、分類するときに順序ついちゃうだろうからなー。
仮にHashで実装したとしたら順序なしなんだけど、こんな風にeachメソッドでのsortは必要なんだろか。

class Mogu
  def initialize
    @bag = Hash.new {|h, k| h[k] = Array.new}
  end

  def push(k, v)
    @bag[k].push(v)
  end

  def each
    @bag.keys.sort.each do |key| # ← sortいらね?
      yield(key, @bag[key])
    end
  end
end