Hi list,

Sorry for the vague title, but here is the scenario.  

I’m writing an R package, let’s say, ‘pkg1’, which contains 3 functions: f1, 
f2, f3.  f2 and f3 are helper functions for f1, i.e. f1 calls f2 which in turn 
calls f3.

f1 <- function(…) {
        ….
        f2()
        …
}

f2 <- function(…){
        …
        f3(…)
        …
}

f3 <- function(...){
       ....
}

Then, I wrote a new version of f3 and I want to test it.  With the old version 
of ‘pkg1’ already loaded into my R session, I tried just copy-and-paste the new 
‘f3’ to R console and hope f1 will pick the new ‘f3’ up.  It obviously didn’t 
work.  I know it’s b/c the new f3 and old f3 are in different environments and 
when f1 is called, only old f3 is used.  Then I tried to change the environment 
of new f3 to the same as the old f3's by calling:

environment(f3) <- environment(pkg1:::f3)

but it wasn't working either.

So,  
1)      Could somebody help me to put all these into perspectives?
2)      Is there an easier way to update f3 without rebuilding the package? (by 
that I mean, writing the new version of f3 in a way that I only need to 
copy-and-paste to R console and I’m good to go.  I know it’s kind of stupid but 
I’m curious to know) 

I'm using R-2.5.1, on WinXP.

Many thanks,

…Tao


_________________________________________________________________


07
______________________________________________
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.

Reply via email to