Message-ID: <20037.16363.771073.468420@max.nulle.part>
Date: 2011-08-12T14:59:55Z
From: Dirk Eddelbuettel
Subject: [Rcpp-devel] Hello world for Rcpp modules
In-Reply-To: <CAB=JVjLrEUhYHqNCqBE0+ARLoScBaV19O09ZsHAcb4X-9ekRWA@mail.gmail.com>
Got it now: you cannot just drop code in an R file, that has nothing to do
with Rcpp methinks. Wrap it in a function like so:
edd at max:/tmp$ R CMD INSTALL chrisExample/
* installing to library ?/usr/local/lib/R/site-library?
* installing *source* package ?chrisExample? ...
** libs
make: Nothing to be done for `all'.
installing to /usr/local/lib/R/site-library/chrisExample/libs
** R
** preparing package for lazy loading
** help
Warning: /tmp/chrisExample/man/chrisExample-package.Rd:32: All text must be in a section
Warning: /tmp/chrisExample/man/chrisExample-package.Rd:33: All text must be in a section
*** installing help indices
** building package indices ...
** testing if installed package can be loaded
* DONE (chrisExample)
edd at max:/tmp$ r -lchrisExample -e'chris()'
C++ class 'World' <0x2a55d60>
Constructors:
World()
Fields: No public fields exposed by this class
Methods:
std::string greet()
docstring : get the message
void set(std::string)
docstring : set the message
edd at max:/tmp$ cat chrisExample/R/rcpp_hello_world2.R
chris <- function() {
show(World)
b <- new(World)
b$greet()
b$set("hello everybody")
b$greet()
rm(b)
invisible(NULL)
}
edd at max:/tmp$
Ok?
Dirk
--
Two new Rcpp master classes for R and C++ integration scheduled for
New York (Sep 24) and San Francisco (Oct 8), more details are at
http://dirk.eddelbuettel.com/blog/2011/08/04#rcpp_classes_2011-09_and_2011-10
http://www.revolutionanalytics.com/products/training/public/rcpp-master-class.php