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


R formals 訪問和操縱形式參數


R語言 formals 位於 base 包(package)。

說明

獲取或設置 function 的形式參數。

用法

formals(fun = sys.function(sys.parent()), envir = parent.frame())
formals(fun, envir = environment(fun)) <- value

參數

fun

function ,或參見“詳細信息”。

envir

environment 其中應定義函數(或在第一種情況下通過 get() 找到,並且當 fun 為字符串時)。

value

a list(或者pairlist) 的R表達式。

細節

對於第一種形式, fun 也可以是命名要操作的函數的字符串,默認從父框架中在 envir 中搜索。如果未指定,則使用調用formals的函數。

僅有的關閉,即非原始函數,具有形式函數,而不是原始函數。
注意formals(args(f))給出所有函數的正式參數列表f,原始與否。

formals 返回指定函數的形式參數列表,作為 pairlistNULL (對於非函數或原語)。

替換形式將函數的形式設置為右側的列表/對列表,並(可能)重置函數的環境,刪除 attributes

例子

require(stats)
formals(lm)

## If you just want the names of the arguments, use formalArgs instead.
names(formals(lm))
methods:: formalArgs(lm)     # same

## formals returns a pairlist. Arguments with no default have type symbol (aka name).
str(formals(lm))

## formals returns NULL for primitive functions.  Use it in combination with
## args for this case.
is.primitive(`+`)
formals(`+`)
formals(args(`+`))

## You can overwrite the formal arguments of a function (though this is
## advanced, dangerous coding).
f <- function(x) a + b
formals(f) <- alist(a = , b = 3)
f    # function(a, b = 3) a + b
f(2) # result = 5

也可以看看

formalArgs(從methods),一個快捷方式names(formals(.)).args對於人類可讀的版本,作為獲取原始函數形式的中介。
alist構造典型的正式場合value,請參閱示例。

(非原始)function 的三個部分是 formalsbodyenvironment

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Access to and Manipulation of the Formal Arguments。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。