rubyのuniqがun*xのそれと動きが違う件

un*xのコマンドのuniq

~$ echo -e "1\n2\n2\n3\n2\n2\n"|uniq
1
2
3
2


一方ruby

>> [1, 2, 2, 3, 2].uniq
=> [1, 2, 3]


くそぅ 思いっきりはまってしまった。常日頃ソート後のモノしかいじっていないってことか。


一方gaucheはgroup-sequenceがある。
http://practical-scheme.net/gauche/man/gauche-refj_91.html#IDX1477

>>(use gauche.sequence)
=>#<undef>

>>(group-sequence '(1 2 2 3 2))
=>((1) (2 2) (3) (2))

>>(map car (group-sequence '(1 2 2 3 2)))
=>(1 2 3 2)


メソッドがうまく練れていないrubyがちょっと嫌いだ。
勢いで設計しているんじゃないだろうか。