sort | uniq -c

rubyには、sortもuniqメソッドもあるけど、(textutilsのいう)-cオプションがない。injectを使うとこんな風になる。

[1,2,3,4,5,5].inject({}){|result,item| result[item] ||=0; result[item] +=1; result }
=> {5=>2, 1=>1, 2=>1, 3=>1, 4=>1}

ブロック内で、最後にresultを唱えてやるのがミソ。
injectは強力なんだけど、貧弱なボクの頭では、ぱぱっと使いこなせない。だから、こうやってレシピをメモっておくのが吉。
マニュアルに例として載っている合計の計算だって、毎回調べてしまうし ^^;

[1,2,3,4,5].inject(0) {|result, item| result + item }
  => 15