Current File : //proc/thread-self/root/opt/alt/ruby18/share/ri/1.8/system/IO/eof-i.yaml |
--- !ruby/object:RI::MethodDescription
aliases: []
block_params:
comment:
- !ruby/struct:SM::Flow::P
body: Returns true if <em>ios</em> is at end of file that means there are no more data to read. The stream must be opened for reading or an <tt>IOError</tt> will be raised.
- !ruby/struct:SM::Flow::VERB
body: " f = File.new("testfile")\n dummy = f.readlines\n f.eof #=> true\n"
- !ruby/struct:SM::Flow::P
body: If <em>ios</em> is a stream such as pipe or socket, <tt>IO#eof?</tt> blocks until the other end sends some data or closes it.
- !ruby/struct:SM::Flow::VERB
body: " r, w = IO.pipe\n Thread.new { sleep 1; w.close }\n r.eof? #=> true after 1 second blocking\n\n r, w = IO.pipe\n Thread.new { sleep 1; w.puts "a" }\n r.eof? #=> false after 1 second blocking\n\n r, w = IO.pipe\n r.eof? # blocks forever\n"
- !ruby/struct:SM::Flow::P
body: Note that <tt>IO#eof?</tt> reads data to a input buffer. So <tt>IO#sysread</tt> doesn't work with <tt>IO#eof?</tt>.
full_name: IO#eof
is_singleton: false
name: eof
params: |
ios.eof => true or false
ios.eof? => true or false
visibility: public