irb(main):001:0> f = File.open(“empty.txt”)
#<File:empty.txt>
irb(main):002:0> f.read
nil
irb(main):003:0> f = File.open(“empty.txt”)
#<File:empty.txt>
irb(main):004:0> f.read(0)
""
$ ruby --version
ruby 1.7.2 (2002-07-02) [i386-mswin32]
(Andy’s 1.7.2-4)
In 1.6.[67] IO.read would never return nil in the first call to read even if
the file is empty.
Cheers,
Thomas