当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。