# File lib/faster_csv.rb, line 1667
  def inspect
    str = "<##{self.class} io_type:"
    # show type of wrapped IO
    if    @io == $stdout then str << "$stdout"
    elsif @io == $stdin  then str << "$stdin"
    elsif @io == $stderr then str << "$stderr"
    else                      str << @io.class.to_s
    end
    # show IO.path(), if available
    if @io.respond_to?(:path) and (p = @io.path)
      str << " io_path:#{p.inspect}"
    end
    # show other attributes
    %w[ lineno     col_sep     row_sep
        quote_char skip_blanks encoding ].each do |attr_name|
      if a = instance_variable_get("@#{attr_name}")
        str << " #{attr_name}:#{a.inspect}"
      end
    end
    if @use_headers
      str << " headers:#{(@headers || true).inspect}"
    end
    str << ">"
  end