This is a Ruby tree! It shows every object from the Ruby Programming Language in a tree format.
# IO.eof? (from ruby core) --- eof?() --- Returns `true` if the stream is positioned at its end, `false` otherwise; see [Position](#class-IO-label-Position): f = File.open('t.txt') f.eof # => false f.seek(0, :END) # => 0 f.eof # => true Raises an exception unless the stream is opened for reading; see [Mode](#class-IO-label-Mode). If `self` is a stream such as pipe or socket, this method blocks until the other end sends some data or closes it: r, w = IO.pipe Thread.new { sleep 1; w.close } r.eof? # => true # After 1-second wait. r, w = IO.pipe Thread.new { sleep 1; w.puts "a" } r.eof? # => false # After 1-second wait. r, w = IO.pipe r.eof? # blocks forever Note that this method reads data to the input byte buffer. So IO#sysread may not behave as you intend with IO#eof?, unless you call IO#rewind first (which is not available for some streams). I#eof? is an alias for IO#eof. (This method is an alias for IO#eof.) Returns `true` if the stream is positioned at its end, `false` otherwise; see [Position](#class-IO-label-Position): f = File.open('t.txt') f.eof # => false f.seek(0, :END) # => 0 f.eof # => true Raises an exception unless the stream is opened for reading; see [Mode](#class-IO-label-Mode). If `self` is a stream such as pipe or socket, this method blocks until the other end sends some data or closes it: r, w = IO.pipe Thread.new { sleep 1; w.close } r.eof? # => true # After 1-second wait. r, w = IO.pipe Thread.new { sleep 1; w.puts "a" } r.eof? # => false # After 1-second wait. r, w = IO.pipe r.eof? # blocks forever Note that this method reads data to the input byte buffer. So IO#sysread may not behave as you intend with IO#eof?, unless you call IO#rewind first (which is not available for some streams). I#eof? is an alias for IO#eof.
This is MURDOC! A Ruby documentation browser inspired by Smalltalk-80. It allows you to learn about Ruby by browsing through its class hierarchies, and see any of its methods.