U:RDoc::AnyMethod[iI" eof?:ETI"IO#eof?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [ I"?Returns true if ios is at end of file that means ;TI"%there are no more data to read. ;TI"NThe stream must be opened for reading or an IOError
will be ;TI"raised.;To:RDoc::Markup::BlankLine o:RDoc::Markup::Verbatim; [I"f = File.new("testfile")
;TI"dummy = f.readlines
;TI"f.eof #=> true
;T:@format0o;
; [I"NIf ios is a stream such as pipe or socket, IO#eof?
;TI"=blocks until the other end sends some data or closes it.;T@o;; [I"r, w = IO.pipe
;TI"%Thread.new { sleep 1; w.close }
;TI".r.eof? #=> true after 1 second blocking
;TI"
;TI"r, w = IO.pipe
;TI"(Thread.new { sleep 1; w.puts "a" }
;TI"/r.eof? #=> false after 1 second blocking
;TI"
;TI"r, w = IO.pipe
;TI"r.eof? # blocks forever
;T;
0o;
; [ I"INote that IO#eof?
reads data to the input byte buffer. ;TI"BSo IO#sysread
may not behave as you intend with ;TI"BIO#eof?
, unless you call IO#rewind
;TI"5first (which is not available for some streams).;T:
@fileI" io.c;T:0@omit_headings_from_table_of_contents_below0I"!ios.eof? -> true or false;T0[ I"();T@-FI"IO;TcRDoc::NormalClass00