force

0th

Percentile

Force Evaluation of an Argument

Forces the evaluation of a function argument.

Keywords
programming, data
Usage
force(x)
Arguments
x

a formal argument of the enclosing function.

Details

force forces the evaluation of a formal argument. This can be useful if the argument will be captured in a closure by the lexical scoping rules and will later be altered by an explicit assignment or an implicit assignment in a loop or an apply function.

Note

This is semantic sugar: just evaluating the symbol will do the same thing (see the examples).

force does not force the evaluation of other promises. (It works by forcing the promise that is created when the actual arguments of a call are matched to the formal arguments of a closure, the mechanism which implements lazy evaluation.)

• force
Examples
library(base) # NOT RUN { 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 } # } 
Documentation reproduced from package base, version 3.5.2, License: Part of R 3.5.2

Community examples

Looks like there are no examples yet.