找回密码
 注册
查看: 1950|回复: 0

R语言:findLineNum()函数中文帮助文档(中英文对照)

[复制链接]
发表于 2012-2-16 19:52:13 | 显示全部楼层 |阅读模式
findLineNum(utils)
findLineNum()所属R语言包:utils

                                         Find the Location of a Line of Source Code, or Set a Breakpoint There.
                                         查找源代码行的位置,或者设置一个断点。

                                         译者:生物统计家园网 机器人LoveR

描述----------Description----------

These functions locate objects containing particular lines of source code, using the information saved when the code was parsed with options(keep.source = TRUE).
这些功能定位对象包含特定行的源代码,使用代码解析options(keep.source = TRUE)保存的信息。


用法----------Usage----------


findLineNum(srcfile, line, nameonly = TRUE,
            envir = parent.frame(), lastenv)

setBreakpoint(srcfile, line, nameonly = TRUE,
              envir = parent.frame(), lastenv, verbose = TRUE,
              tracer, print = FALSE, clear = FALSE, ...)



参数----------Arguments----------

参数:srcfile
The name of the file containing the source code.
包含源代码文件的名称。


参数:line
The line number within the file.  See Details for an alternate way to specify this.  
在文件中的行数。请参阅指定的另一种方法的详细信息。


参数:nameonly
If TRUE (the default), we require only a match to basename(srcfile), not to the full path.  
如果TRUE(默认),我们只需要一场比赛basename(srcfile),不完整的路径。


参数:envir
Where do we start looking for function objects?
我们从哪里开始寻找函数对象?


参数:lastenv
Where do we stop?  See the Details.
我们在哪里停止?查看详细信息。


参数:verbose
Should we print information on where breakpoints were set?
我们应该打印设置断点的信息?


参数:tracer
An optional tracer function to pass to trace.  By default, a call to browser is inserted.  
一个可选的tracer函数传递到trace。默认情况下,调用一个browser插入。


参数:print
The print argument to pass to trace.
通过printtrace参数。


参数:clear
If TRUE, call untrace rather than  trace.
如果TRUE,叫untrace而不是trace。


参数:...
Additional arguments to pass to trace.
额外的参数传递到trace。


Details

详情----------Details----------

The findLineNum function searches through all objects in environment envir, it's parent, grandparent, etc., all the way back to lastenv.
findLineNum功能搜索envir,它的父母,祖父母等,所有的方式回到lastenv环境的所有对象。

lastenv defaults to the global environment if envir is not specified, and to the root environment emptyenv() if envir is specified.  (The first default tends to be quite fast, and will usually find all user code other than S4 methods; the second one is quite slow, as it will typically search all attached system libraries.)
lastenv如果envir没有被指定,并根环境默认为全球环境emptyenv()如果envir指定。 (第一个默认往往是相当快,通常会发现其他所有用户的比S4方法的代码,第二个是相当缓慢的,因为它通常会搜索所有附加系统库。)

For convenience, envir may be specified indirectly:  if it is not an environment, it will be replaced with environment(envir).
为方便起见,envir可间接指定:如果它不是一个环境,它会用environment(envir)取代。

setBreakpoint is a simple wrapper function for trace and untrace.  It will set or clear breakpoints at the locations found by findLineNum.
setBreakpoint是trace和untrace的简单的包装功能。它会设置或清除断点在findLineNum发现的地点。

The srcfile is normally a filename entered as a character string, but it may be a "srcfile" object, or it may include a suffix like "filename.R#nn", in which case the number nn will be used as a default value for line.
srcfile通常是作为一个字符串输入一个文件名,但它可能是一个"srcfile"对象,它可能包括像"filename.R#nn",在这种情况下,数量nn后缀将被用来作为默认值line。

As described in the description of the where argument on the man page for trace, the R package system uses a complicated scheme that may include more than one copy of a function in a package.  The user will typically see the public one on the search path, while code in the package will see a private one in the package NAMESPACE.  If you set envir to the environment of a function in the package, by default findLineNum will find both versions, and setBreakpoint will set the breakpoint in both. (This can be controlled using lastenv; e.g.  envir=environment(foo), lastenv=globalenv() will find only the private copy, as the search is stopped before seeing the public copy.)
在手册页描述wheretrace参数,R包系统使用一个复杂的计划,可能包括多个功能包中的一个副本。用户通常会看到的搜索路径上的公共之一,而包中的代码会看到包的命名空间中的一个私人的。如果设置了包中的函数的环境envir,默认findLineNum会发现这两个版本,setBreakpoint将设置两个断点。 (这可以控制使用lastenv;例如envir=environment(foo),lastenv=globalenv()会发现只有私有副本,看到公共副本之前停止搜索)

S version 4 methods are also somewhat tricky to find.  They are stored with the generic function, which may be in the base or other package, so it is usually necessary to have lastenv=emptyenv() in order to find them.  In some cases transformations are done by R when storing them and findLineNum may not be able to find the original code.  Many special cases, e.g. methods on primitive generics, are not yet supported.
S版4种方法也有些棘手。他们与通用的功能,这可能是在base或其他包中的,所以它通常是必要的,有lastenv=emptyenv()为了找到他们。在某些情况下,转换完成时,按R存储他们findLineNum可能无法找到原代码。许多特殊的情况下,例如尚未支持,原始泛型方法。


值----------Value----------

fineLineNum returns a list of objects containing location information.  A print method is defined for them.
fineLineNum返回一个包含位置信息的对象的列表。他们被定义为一个print方法。

setBreakpoint has no useful return value; it is called for the side effect of calling trace or untrace.
setBreakpoint有没有有用的返回值,它被称为调用trace或untrace副作用。


作者(S)----------Author(s)----------



Duncan Murdoch




参见----------See Also----------

trace
trace


举例----------Examples----------


## Not run: [#无法运行:]
# Find what function was defined in the file mysource.R at line 100:[寻找什么功能是在第100行文件mysource.R定义:]
findLineNum("mysource.R#100")[100“)]

# Set a breakpoint in both copies of that function, assuming one is in the[假设,一个是在设置一个断点,在该函数的两个副本]
# same namespace as myfunction and the other is on the search path[myfunction的和其他的同一个命名空间是在搜索路径]
setBreakpoint("mysource.R#100", envir=myfunction)[100“,游= myfunction的)]

## End(Not run)[#结束(不运行)]

转载请注明:出自 生物统计家园网(http://www.biostatistic.net)。


注:
注1:为了方便大家学习,本文档为生物统计家园网机器人LoveR翻译而成,仅供个人R语言学习参考使用,生物统计家园保留版权。
注2:由于是机器人自动翻译,难免有不准确之处,使用时仔细对照中、英文内容进行反复理解,可以帮助R语言的学习。
注3:如遇到不准确之处,请在本贴的后面进行回帖,我们会逐渐进行修订。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2025-1-24 21:10 , Processed in 0.019024 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表