# File lib/elif.rb, line 63
  def initialize(*args)
    # Delegate to File::new and move to the end of the file.
    @file = File.new(*args)
    @file.seek(0, IO::SEEK_END)
    
    # Record where we are.
    @current_pos = @file.pos
    
    # Get the size of the next of the first read, the dangling bit of the file.
    @read_size = @file.pos % MAX_READ_SIZE
    @read_size = MAX_READ_SIZE if @read_size.zero?
    
    # A buffer to hold lines read, but not yet returned.
    @line_buffer = Array.new
  end