[prev in list] [next in list] [prev in thread] [next in thread] 

List:       r-help
Subject:    Re: [R] Random number generation
From:       "Greg Snow" <Greg.Snow () imail ! org>
Date:       2008-05-13 17:38:07
Message-ID: B37C0A15B8FB3C468B5BC7EBC7DA14CC60EE5EC585 () LP-EXMBVS10 ! CO ! IHC ! COM
[Download RAW message or body]

> -----Original Message-----
> From: Esmail Bonakdarian [mailto:esmail.js@gmail.com]
> Sent: Tuesday, May 13, 2008 8:13 AM
> To: Greg Snow
> Cc: Prof Brian Ripley; r-help@stat.math.ethz.ch
> Subject: Re: [R] Random number generation
> 
> Greg Snow wrote:
> > > -----Original Message-----
[snip]

> > you could always run your R scripts through the C preproccessor and
> > have it strip the block comments for you.
> 
> Too much work, call me old school, but I like the computer do
> work for me, rather than the other way around :-)

So, have the computer do the work.  Here is a simple function that tells the computer \
to do the work:

cppsource <- function(file) {
        tmp <- paste(tempfile(), '.R', sep='')
        system(paste('cpp',file,tmp))
        source(tmp)
        unlink(tmp)
}

Now, instead of doing source('myfile.R') do cppsource('myfile.R') and it will \
automatically do the preproccing to remove the c-style comments (assuming that cpp is \
on your path, etc.).  If typing the extra 3 characters is too much work, then just \
name it something else.

Or if you just want to strip the comments in R and don't want to use the c \
preprocessor then the function:

cssource <- function(file) {
        tmp <- readLines(file)
        tmp2 <- paste(tmp, collapse='\n')
        tmp3 <- gsub('(?s)/\\*.*?\\*/','',tmp2,perl=TRUE)
        source(textConnection(tmp3))
}

Will do that (it will not deal with nested comments or some other special cases, but \
both the above functions worked for my quick test case).



> 
> > Given the complexity of implementing block commenting (even
> deciding on the syntax) and the ease of current work arounds,
> the cost benefit ratio probably puts this very near the
> bottom of the priority list.
> 
> I couldn't possibly offer an opinion on that .. I'll happily
> defer to you and the other experts here for this.

I am not really an expert on this.  I just remember being bitten when writing C and \
trying to comment out a section of code that already had a comment in it.  I would \
rather have the R core team spending their time on their current priorities than even \
get involved in a discussion of whether block comments should be able to be nested or \
not.

You now have at least 4 possible work arounds, hopefully one of them is satifactory,


--
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
greg.snow@imail.org
(801) 408-8111

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic