Re: [Rd] Locating code that is outside of functions in R scripts

From: Wolfgang Huber <whuber_at_embl.de>
Date: Mon, 28 Dec 2009 10:02:33 +0100

Dear Gheine,

you could also start creating your own package with these functions, and manage the code using R's well thought-out package management functionalities, with namespaces etc. At some point, this might be less effort than (re-)inventing tools as below.

		Best wishes
		Wolfgang




Gabor Grothendieck wrote:

> This sources the indicated file into the local environment (i.e. the
> environment within src) and then only copies out the objects that are
> functions into the workspace so that you are only left with them.
> 
> src <- function(file) {
>    source(file, local = TRUE)
>    for(nm in ls(all = TRUE)) if (is.function(get(nm))) assign(nm,
> get(nm), .GlobalEnv)
> }
> 
> # usage:
> src("myfile.R")
> 
> On Wed, Dec 23, 2009 at 7:04 PM,  <gheine_at_mathnmaps.com> wrote:

>> Working with a number of scripts (text files with R commands) that I
>>
>> "source" into R sessions from time to time.
>>
>> The source() command is most convenient (at least for me)
>>
>> if it only loads function definitions, and doesn't otherwise change the
>>
>> interactive environment. For example, I might have a file that looks like
>>
>>
>>
>> func1<-function() {
>>
>> code
>>
>> code
>>
>> code
>>
>> }
>>
>> # this is a comment
>>
>>
>>
>> A<-"this is code outside the function definitions";
>>
>>
>>
>> func2<-function() {
>>
>> code
>>
>> # a comment with a spurious }
>>
>> code
>>
>> code
>>
>> }
>>
>>
>>
>> I would like a quick-and-dirty script that finds the line beginnning with
>>
>> "A", since it is R code outside of any function definition.
>>
>> On the other hand it would ignore the two comment lines, and would not be
>>
>> fooled by the spurious "}" in the second comment line.
>>
>> Probably not too hard to put something like this together, but am making
>>
>> this post in case it is something that has already been done.
>>
>>
>>
>>
>>
>> Thanks!
>>
>> ______________________________________________
>> R-devel_at_r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
> 
> ______________________________________________
> R-devel_at_r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

-- 

Best wishes
      Wolfgang


--
Wolfgang Huber
EMBL
http://www.embl.de/research/units/genome_biology/huber/contact

______________________________________________
R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Mon 28 Dec 2009 - 09:08:47 GMT

This archive was generated by hypermail 2.2.0 : Mon 28 Dec 2009 - 10:11:16 GMT