整数リストの変換ゴルフ

http://d.hatena.ne.jp/higepon/20080925/1222326246
ちょっと遅れましたけど。皆ややこしすぎだと思います。

o = [1,3,4,5,6,12,13,15]
r=[];(o+[nil]).inject{|a,b|s,t=a;b==1+(t||s)?[s,b]:(r<<a;b)}

番兵がダサくて嫌なのですが、こんな感じで。真面目にゴルフするなら r は $* で、 nil は p とかで代用すべきですね。
もうちょっと綺麗にならないのかなあという感じなのですが、まあ適当…

追記:id:KeisukeNakano さんのほうが余裕で短いです。よく考えなくても inject とか余裕でいらんかった。