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


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。