This isn't like a local variable though, since any function above the
baseenv() in the search path will also not be found.
> f
function(a) { rnorm(b) }
<environment: base>
> f()
Error in f() : could not find function "rnorm"
Jeff
On Fri, May 14, 2010 at 9:20 AM, Hadley Wickham <[email protected]> wrote:
> > Hello All,
> >
> > By default, a reference of a variable in a function cause R to look
> > for the variable in the parent environment if it is not available in
> > the current environment (without generating any errors or warnings).
> > I'm wondering if there is a way to revert this behaviors, such that it
> > will not look for the parent environment and will generate an error if
> > the variable is not available in the current environment. Is this
> > tuning has to be done at the C level?
>
> Try this:
> b <- 1
> f <- function(a) {
> b
> }
>
> environment(f) <- baseenv()
> f()
>
> Hadley
>
> --
> Assistant Professor / Dobelman Family Junior Chair
> Department of Statistics / Rice University
> http://had.co.nz/
>
> ______________________________________________
> [email protected] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
--
Jeffrey Ryan
[email protected]
ia: insight algorithmics
www.insightalgo.com
[[alternative HTML version deleted]]
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel