Try f2 <- local({f1 <- f1; function(x) 2 * f1(x) })
On Fri, Apr 18, 2008 at 8:22 AM, Alberto Monteiro <[EMAIL PROTECTED]> wrote: > This is just my curiousity working. > > Suppose I write: > > f1 <- function(x) x + 1 > f2 <- function(x) 2 * f1(x) > f2(10) > # 22 > f1 <- function(x) x - 1 > f2(10) > # 18 > > This is quite obvious. But is there any way to define f2 > in such a way that we "freeze" the definition of f1? > > f1 <- function(x) x + 1 > f2 <- function(x) > # put something here > 2 * f1(x) > # probably put something else here too > > f2(10) > # 22 > f1 <- function(x) x - 1 > f2(10) > # 22 - f1 inside f2 does not change > > Alberto Monteiro > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.