| srcfile {base} | R Documentation |
These functions are for working with source files.
srcfile(filename, encoding = getOption("encoding"), Enc = "unknown")
srcfilecopy(filename, lines)
getSrcLines(srcfile, first, last)
srcref(srcfile, lloc)
## S3 method for class 'srcfile':
print(x, ...)
## S3 method for class 'srcfile':
summary(object, ...)
## 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':
summary(object, useSource = FALSE, ...)
## S3 method for class 'srcref':
as.character(x, useSource = TRUE, ...)
.isOpen(srcfile)
filename |
The name of a file |
encoding |
The character encoding to assume for the file |
Enc |
The encoding with which to make strings: see the
encoding argument of parse. |
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 or six values giving a source location; see ‘Details’. |
x, object, con |
An object of the appropriate class. |
useSource |
Whether to read the srcfile to obtain the
text of a srcref. |
... |
Additional arguments to the methods; these will be ignored. |
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_byte, last_line, last_byte, first_column,
last_column). (Bytes and columns may be different due to multibyte
characters. If only four values are given, the columns and
bytes are assumed to match.)
Methods are defined for print, summary, 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, summary 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. The
summary method defaults to this type of display.
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.
srcfile returns a srcfile object.
srcfilecopy returns a srcfilecopy object.
getSrcLines returns a character vector of source code lines.
srcref returns a srcref object.
Duncan Murdoch
src <- srcfile(system.file("DESCRIPTION", package = "base"))
summary(src)
getSrcLines(src, 1, 4)
ref <- srcref(src, c(1, 1, 2, 1000))
ref
print(ref, useSource = FALSE)