In article <20031226153432.0AF6A45A809 / helium.ruby-lang.org>,
  matz / ruby-lang.org (matz) writes:

>     * io.c (rb_io_getline): should return nil on eof, even when nil rs is
>       specified. [ruby-core:02077]

>   1.249       +3   -4    ruby/io.c
>     http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/io.c?cvsroot=src&r1=1.248&r2=1.249

えぇと、

% echo -n | ruby -e 'p STDIN.gets(nil)'                   
""
% echo -n | ruby -e 'p STDIN.readlines(nil)'
[""]

となるのでよろしくないと思います。

ついでにいえば、この挙動は

% echo -n | ruby -e 'p STDIN.gets(nil); p STDIN.gets(nil)'
""
nil

というように EOF flag 依存です。
-- 
[田中 哲][たなか あきら][Tanaka Akira]