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


R force 强制评估论证


R语言 force 位于 base 包(package)。

说明

强制计算函数参数。

用法

force(x)

参数

x

封闭函数的形式参数。

细节

force 强制评估形式参数。如果参数将通过词法作用域规则在闭包中捕获,并且稍后将通过循环或 apply 函数中的显式赋值或隐式赋值进行更改,则这可能很有用。

注意

这是语义糖:仅评估符号就会做同样的事情(参见示例)。

force 不强制评估其他promises 。 (它的工作原理是强制调用的实际参数与闭包的形式参数匹配时创建的承诺,这是实现惰性求值的机制。)

例子

f <- function(y) function() y
lf <- vector("list", 5)
for (i in seq_along(lf)) lf[[i]] <- f(i)
lf[[1]]()  # returns 5

g <- function(y) { force(y); function() y }
lg <- vector("list", 5)
for (i in seq_along(lg)) lg[[i]] <- g(i)
lg[[1]]()  # returns 1

## This is identical to
g <- function(y) { y; function() y }

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Force Evaluation of an Argument。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。