How can I start a local scope inside an R function? Eg in> bError: object "b" not found> f <- function() {+ { + b <- 1 + } + b+2 + }> f()[1] 3 I would like f() to report an error, not finding b. I am thinking about something like let in Scheme/Lisp. Thanks, Tamas
Try f <- function() { local({ b <- 1 }) b + 2 } Tamas K Papp wrote:> How can I start a local scope inside an R function? Eg in > >> b > Error: object "b" not found >> f <- function() { > + { > + b <- 1 > + } > + b+2 > + } >> f() > [1] 3 > > I would like f() to report an error, not finding b. I am thinking > about something like let in Scheme/Lisp. > > Thanks, > > Tamas > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel >-- Roger D. Peng | http://www.biostat.jhsph.edu/~rpeng/
On 7/27/2006 8:16 AM, Tamas K Papp wrote:> How can I start a local scope inside an R function? Eg in > >> b > Error: object "b" not found >> f <- function() { > + { > + b <- 1 > + } > + b+2 > + } >> f() > [1] 3 > > I would like f() to report an error, not finding b. I am thinking > about something like let in Scheme/Lisp.The local() function does this: > f <- function() { + local({ b <- 1 }) + b + 2 + } > f() Error in f() : object "b" not found