srcfile                 package:base                 R Documentation

_R_e_f_e_r_e_n_c_e_s _t_o _s_o_u_r_c_e _f_i_l_e_s

_D_e_s_c_r_i_p_t_i_o_n:

     These functions are for working with source files.

_U_s_a_g_e:

     srcfile(filename, encoding = getOption("encoding"))
     srcfilecopy(filename, lines)
     getSrcLines(srcfile, first, last)
     srcref(srcfile, lloc)
     ## S3 method for class 'srcfile':
     print(x, ...)
     ## S3 method for class 'srcfile':
     open(con, line, ...)
     ## S3 method for class 'srcfile':
     close(con, ...)
     ## S3 method for class 'srcref':
     print(x, useSource = TRUE, ...)
     ## S3 method for class 'srcref':
     as.character(x, useSource = TRUE, ...)
     .isOpen(srcfile)

_A_r_g_u_m_e_n_t_s:

filename: The name of a file 

encoding: The character encoding to assume for the file 

   lines: A character vector of source lines.  Other R objects will be
          coerced to character. 

 srcfile: A 'srcfile' object 

first, last, line: Line numbers 

    lloc: A vector of four values giving a source location; see Details 

  x, con: An object of the appropriate type 

useSource: Whether to read the 'srcfile' to obtain the text of a
          'srcref' 

     ...: Additional arguments to the methods; these will be ignored 

_D_e_t_a_i_l_s:

     These functions and classes handle source code references.  

     The 'srcfile' function produces an object of class 'srcfile',
     which contains the name and directory of a source code file, along
     with its timestamp, for use in source level debugging (not yet
     implemented) and source echoing.  The encoding of the file is
     saved; see 'file' for a discussion of encodings, and 'iconvlist'
     for a list of allowable encodings on your platform.

     The 'srcfilecopy' function produces an object of the descendant
     class 'srcfilecopy', which saves the source lines in a character
     vector.

     The 'getSrcLines' function reads the specified lines from
     'srcfile'.

     The 'srcref' function produces an object of class 'srcref', which
     describes a range of characters in a 'srcfile'.  The 'lloc' value
     gives the following values:  'c(first_line, first_column,
     last_line, last_column)'.

     Methods are defined for 'print', 'open', and 'close' for classes
     'srcfile' and 'srcfilecopy'. The 'open' method opens its internal
     'file' connection at a particular line; if it was already open, it
     will be repositioned to that line.

     Methods are defined for 'print' and 'as.character' for class 
     'srcref'.  The 'as.character' method will read the associated
     source file to obtain the text corresponding to the reference.  If
     an error occurs (e.g. the file no longer exists), text like
     '<srcref: "file" chars 1:1 to 2:10>' will be returned instead,
     indicating the 'line:column' ranges of the first and last
     character.

     Lists of srcref objects may be attached to expressions as the
     '"srcref"' attribute.  (The list of srcref objects should be the
     same length as the expression.)  By default, expressions are
     printed by 'print.default' using the associated 'srcref'.  To see
     deparsed code instead, call 'print' with argument 'useSource =
     FALSE'.  If a 'srcref' object is printed with 'useSource = FALSE',
     the '<srcref: ...>' record will be printed.

     '.isOpen' is intended for internal use:  it checks whether the 
     connection associated with a 'srcfile' object is open.

_V_a_l_u_e:

     'srcfile' returns a 'srcfile' object.

     'srcfilecopy' returns a 'srcfilecopy' object.

     'getSrcLines' returns a character vector of source code lines.

     'srcref' returns a 'srcref' object.

_A_u_t_h_o_r(_s):

     Duncan Murdoch

_E_x_a_m_p_l_e_s:

     src <- srcfile(system.file("DESCRIPTION", package = "base"))
     getSrcLines(src, 1, 4)
     ref <- srcref(src, c(1, 1, 2, 1000))
     ref
     print(ref, useSource = FALSE)

