srcfile
位于 base
包(package)。 说明
这些函数用于处理源文件,更一般地用于“source references”("srcref"
),即对源代码的引用。生成的数据用于打印和源代码级调试,并且通常以交互方式提供R会话,即当options(keep.source = TRUE)
.
用法
srcfile(filename, encoding = getOption("encoding"), Enc = "unknown")
srcfilecopy(filename, lines, timestamp = Sys.time(), isFile = FALSE)
srcfilealias(filename, srcfile)
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, to = x, ...)
.isOpen(srcfile)
参数
filename |
文件的名称。 |
encoding |
文件采用的字符编码。 |
Enc |
用于制作字符串的编码:请参阅 |
lines |
源行的字符向量。其他R对象将被强制为字符。 |
timestamp |
用于文件副本的时间戳。 |
isFile |
已知此 |
srcfile |
|
first , last , line |
行号。 |
lloc |
由四个、六个或八个值组成的向量,给出源位置;查看具体信息'。 |
x , object , con |
适当类的对象。 |
useSource |
是否读取 |
to |
可选的第二个 |
... |
方法的附加参数;这些将被忽略。 |
细节
这些函数和类处理源代码引用。
srcfile
函数生成 srcfile
类的对象,其中包含源代码文件的名称和目录及其时间戳,用于源代码级调试(尚未实现)和源回显。保存文件的编码;有关编码的讨论,请参阅file
;有关平台上允许的编码的列表,请参阅iconvlist
。
srcfilecopy
函数生成后代类 srcfilecopy
的对象,该对象将源代码行保存在字符向量中。它复制 isFile
参数的值,以帮助调试器识别该文本是否来自文件系统中的真实文件。
srcfilealias
函数生成后代类 srcfilealias
的对象,该对象为另一个 srcfile 提供备用名称。这是在使用 #line
指令时由解析器生成的。
getSrcLines
函数从 srcfile
读取指定行。
srcref
函数生成 srcref
类的对象,该对象说明 srcfile
中的字符范围。 lloc
值给出以下值:
c(first_line, first_byte, last_line, last_byte, first_column, last_column, first_parsed, last_parsed)
由于多字节字符,字节(元素 2、4)和列(元素 5、6)可能会有所不同。如果仅给出四个值,则假定列和字节匹配。如果在代码中使用 #line
指令,行(元素 1、3)和解析的行(元素 7、8)可能会有所不同:前者将遵循该指令,后者只会计算行数。如果仅给出 4 或 6 个元素,则将假定解析的行与这些行匹配。
为类 srcfile
和 srcfilecopy
定义了 print
、 summary
、 open
和 close
的方法。 open
方法在特定行打开其内部 file
连接;如果它已经打开,它将被重新定位到该行。
方法定义为print
,summary
和as.character
上课srcref
。这as.character
方法将读取关联的源文件以获取与引用相对应的文本。如果to
给出了参数,它应该是第二个srcref
位于同一文件中的第一个之后;它们将被视为整个范围的一个参考。确切的行为取决于源文件的类。如果源文件继承自类srcfilecopy
,这些行是使用 “parsed” 行计数从保存的副本中获取的。如果没有,则尝试读取该文件以及该文件的原始行号srcref
使用记录(即元素 1 和 3)。如果发生错误(例如,文件不再存在),则显示类似“<srcref:"file" 字符 1:1 到 2:10>' 将被返回,表明line:column
第一个和最后一个字符的范围。这summary
方法默认为这种类型的显示。
列表srcref
对象可以附加到表达式作为"srcref"
属性。 (名单srcref
对象的长度应与表达式相同。)默认情况下,表达式由print.default
使用相关的srcref
。要查看已解析的代码,请调用print
有论点useSource = FALSE
。如果一个srcref
对象打印有useSource = FALSE
, 这 '<srcref: \dots>’ 记录将被打印。
.isOpen
供内部使用:它检查与 srcfile
对象关联的连接是否打开。
值
srcfile
返回 srcfile
对象。
srcfilecopy
返回 srcfilecopy
对象。
getSrcLines
返回源代码行的字符向量。
srcref
返回 srcref
对象。
例子
# has timestamp
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)
作者
Duncan Murdoch
也可以看看
getSrcFilename
用于从源引用中提取信息,或 removeSource
用于从(非原始)函数(又名 ‘closure’)中删除信息。
相关用法
- R strsplit 分割字符向量的元素
- R seq.Date 生成规则的日期序列
- R search 给出 R 对象的搜索路径
- R solve 求解方程组
- R scan 读取数据值
- R sprintf 使用 C 风格字符串格式化命令
- R stop 停止函数执行
- R sign 标志函数
- R svd 矩阵的奇异值分解
- R strtoi 将字符串转换为整数
- R source 从文件、连接或表达式中读取 R 代码
- R sQuote 引用文字
- R switch 选择替代方案列表之一
- R substitute 替换和引用表达式
- R strrep 重复字符向量的元素
- R split 分组并重新集合
- R slice.index 数组中的切片索引
- R sort 对向量进行排序或排序
- R standardGeneric 形式化方法系统 – 调度 S4 方法
- R sequence 创建序列向量
- R startsWith 字符串是否以另一个字符串开头或结尾?
- R system.file 查找 R 系统文件的名称
- R sample 随机样本和排列
- R strwrap 将字符串换行以设置段落格式
- R seek 重新定位连接的函数
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 References to Source Files and Code。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。