[Rcpp-devel] Rcpp: accessing non exported function in a given namespace
Dirk Eddelbuettel
edd at debian.org
Thu Jul 28 19:22:36 CEST 2011
On 28 July 2011 at 15:18, Renaud wrote:
| Great.
| I knew it had to be possible... and as easy as this.
Nice trick indeed. I just added it as a unit test so that I can look it up
another time :)
Dirk
| Thank you.
|
| Renaud
|
| On 28/07/2011 15:15, Romain Francois wrote:
| > Le 22/07/11 16:10, Renaud a écrit :
| >> Hi,
| >>
| >> I am using Rcpp in a package and I need to get a non exported function
| >> in some other namespace.
| >> I do something like the following but it seems to work only for exported
| >> functions (or I guess any R variables):
| >>
| >> Environment ns = Environment("package:stats");
| >> Function fun = ns[".asSparse"];
| >>
| >> This throws an error: "cannot convert to function".
| >> I am running:
| >> - R-2.13.0 on Ubuntu 10.04
| >> - Rcpp 0.9.5
| >>
| >> Actually, I would like to access any type of non-exported R variable,
| >> but I imagine it would work the same and changing the left-side class
| >> should do the trick.
| >>
| >> I am sure there is an easy way to do this in Rcpp. Any suggestion?
| >> Thank you.
| >>
| >> Bests,
| >> Renaud
| >
| > Yes. You need Environment::namespace_env to get the namespace and not
| > the package environment.
| >
| > Something like this:
| >
| > fx <- cxxfunction( , '
| > Environment ns = Environment::namespace_env( "stats" ) ;
| > return ns[".asSparse"] ;
| > ', plugin = "Rcpp" )
| > fx()
| >
| > Romain
| >
| >
| >
|
| _______________________________________________
| Rcpp-devel mailing list
| Rcpp-devel at lists.r-forge.r-project.org
| https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
--
Gauss once played himself in a zero-sum game and won $50.
-- #11 at http://www.gaussfacts.com
More information about the Rcpp-devel
mailing list