當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R removeSource 從函數或語言對象中刪除存儲的源


R語言 removeSource 位於 utils 包(package)。

說明

options("keep.source")TRUE 時,函數的原始源代碼的副本將與其一起存儲。類似地,parse() 可以保留表達式的格式化源。此類源引用屬性由 removeSource() 從對象中刪除。

用法

removeSource(fn)

參數

fn

要從中刪除源的 function 或其他語言對象(滿足 is.language )。

細節

如果是函數或遞歸語言部分,則通過遞歸清理 body(fn) 來刪除 "srcref" 和相關屬性。

fn 對象的副本(已刪除源)。

例子

## to make this act independently of the global 'options()' setting:
op <- options(keep.source = TRUE)
fn <- function(x) {
  x + 1 # A comment, kept as part of the source
}
fn
names(attributes(fn))       # "srcref" (only)
names(attributes(body(fn))) # "srcref" "srcfile" "wholeSrcref"
f2 <- removeSource(fn)
f2
stopifnot(length(attributes(fn)) > 0,
          is.null(attributes(f2)),
          is.null(attributes(body(f2))))

## Source attribute of parse()d expressions,
##	  have {"srcref", "srcfile", "wholeSrcref"} :
E  <- parse(text ="a <- x^y  # power")  ; names(attributes(E ))
E. <- removeSource(E)                   ; names(attributes(E.))
stopifnot(length(attributes(E ))  > 0,
          is.null(attributes(E.)))
options(op) # reset to previous state

也可以看看

is.language 關於語言對象。

srcref 用於說明源引用記錄,deparse 用於說明如何解析函數。

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Remove Stored Source from a Function or Language Object。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。