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