You are missing 'force'. See 'The R Inferno' page 90.
In this case you can define: f <- function(y) { force(y); function() y} On 10/05/2010 11:06, sayan dasgupta wrote:
Hey guys, I have a doubt here , It is something simple I guess, what am I missing out here ?? f<- function(y) function() y tmp<- vector("list", 5) for (i in 1:5) tmp[[i]]<- f(i) tmp[[1]]() # returns 5; z<- f(6) tmp[[1]]() # still returns 5; it should return 6 "ideally" right ??? Even if I dont evaluate the function tmp[[1]] before i.e I do rm(list=ls()) f<- function(y) function() y tmp<- vector("list", 5) for (i in 1:5) tmp[[i]]<- f(i) z<- f(6) tmp[[1]]() # it still returns 5; it should return 6 "ideally" right ??? [[alternative HTML version deleted]] ______________________________________________ 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.
-- Patrick Burns pbu...@pburns.seanet.com http://www.burns-stat.com (home of 'Some hints for the R beginner' and 'The R Inferno') ______________________________________________ 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.