On 09/03/2009 02:46 PM, Duncan Murdoch wrote:

On 03/09/2009 7:47 AM, Romain Francois wrote:
On 09/02/2009 01:13 PM, Duncan Murdoch wrote:
Romain Francois wrote:
Hello,

(This is a remix of this previous thread:
https://stat.ethz.ch/pipermail/r-devel/2009-August/054264.html , but
with a concrete example)

I am developing some packages that contain scripts (for Rscript) and
would like to know what is the best/recommended way to ship these
scripts.

An example is the "ant" package (R capable version of apache ant, see
http://tr.im/xHLs). The package has a ant.R script in the exec
directory and here is how I use it :

$ `Rscript -e "cat( system.file( 'exec', 'ant.R', package = 'ant' )
) " `

... not so pretty. Meanwhile, "Writing R extensions" talks about the
exec directory, but it is not clear if I can use it this way or how.

I think exec is a reasonable place to put the script. If you don't want
to type that long command above, why not put it in a small function in
the package? E.g. define

antR <- function() cat( system.file( 'exec', 'ant.R', package = 'ant'
) )

then you can run it with

Rscript -e "ant::antR()"

Duncan Murdoch

I've implemented a minimal version of this in package "exec". For
example.

$ Rscript -e "exec::rscript( 'ant', 'ant.R')"

Romain

btw, exec is maintained at r-forge :

$ svn checkout svn://svn.r-forge.r-project.org/svnroot/highlight/pkg/exec

That's a nice, simple function. I might add an argument

dir = "exec"

rather than hard-coding that directory choice; others might keep their
scripts somewhere else, or want to run one of the test scripts, etc.

Duncan Murdoch

Good point. The other hard coded thing is that it goes looking for the path of Rscript, which might not be that useful if the script is a python/perl/ script.

I might try to encapsulate an R equivalent to !/bin/env lookup ...

--
Romain Francois
Professional R Enthusiast
+33(0) 6 28 91 30 30
http://romainfrancois.blog.free.fr
|- http://tr.im/xMdt : update on the ant package
|- http://tr.im/xHLs : R capable version of ant
`- http://tr.im/xHiZ : Tip: get java home from R with rJava

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to