原です。

In message "[ruby-list:18587] Re: [REQ] [].grep(pat) #=> []"
    on 99/11/15, GOTO Kentaro <gotoken / math.sci.hokudai.ac.jp> writes:

|# 過去記事を探してたら、
|# loop do
|#   a = arry.grep(...)
|#   return a unless a.empty?
|# end
|# してる潜在的な賛同者を見つけてしまった[ruby-list:15994] ;-)

あれっ、これ私のミスですか?うう、認めたくない。

|In message "[ruby-list:18585] Re: [REQ] [].grep(pat) #=> []"
|    on 99/11/15, ttate / jaist.ac.jp <ttate / jaist.ac.jp> writes:
|>gotoken> Enumerable#grep はマッチする要素がないとき nil を返しますが、
|>gotoken> 空の配列を返す方が便利だし(find_allとの類似性から)自然だと思
|>gotoken> うのは僕だけでしょうか??

というわけで、nil でなく、[] を返すのに賛成です。