Hey
thanks for your help ,
But thats not exactly the problem I have
See I am fine  with
tmp[[1]]() being = 5 and not 1; but then

for (i in 1:5) tmp[[i]] <- f(i)
 z <- f(6)
tmp[[1]]() ## "should"  give 6 right ? Because f(6) was last evaluate so in
parent.frame() y should be 6 ???


On Mon, May 10, 2010 at 3:44 PM, Patrick Burns <pburns@pburns.seanet.com>wrote:

> 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
> pburns@pburns.seanet.com
> http://www.burns-stat.com
> (home of 'Some hints for the R beginner'
> and 'The R Inferno')
>

	[[alternative HTML version deleted]]

