[R] Putting an index explicitly into function code --- a curiosity.
Duncan Murdoch
murdoch.duncan at gmail.com
Sat Jan 7 16:23:37 CET 2012
On 12-01-06 10:21 PM, Rolf Turner wrote:
> On 07/01/12 15:51, R. Michael Weylandt<michael.weylandt at gmail.com> wrote:
>> I imagine the answer will involve lazy evaluation and require you use force() but I'm not quite qualified to pronounce and not at a computer to test.
>
> I think you've got it; I tried
>
> junk<- vector("list",4)
> for(i in 1:4) {
> junk[[i]]<- eval(bquote(function(x){42 + .(force(i))*x}))
> }
>
> and got the result that I wanted. Still don't completely understand, but
> it at least makes vague sense and makes me a bit more comfy.
I'm not so sure. The index in a for loop isn't supposed to be a
promise. To me, it looks like a bug, maybe in bquote()...
Duncan Murdoch
More information about the R-help
mailing list