force                  package:base                  R Documentation

Force evaluation of an Argument

Description:

     Forces the evaluation of a function argument.

Usage:

     force(x)

Arguments:

       x: a formal argument.

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.

Examples:

     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

