[Rd] package NAMESPACE question
edd at debian.org
Sat Jan 25 14:53:42 CET 2014
On 25 January 2014 at 14:38, Axel Urbiz wrote:
| I'm building a package. My code is stored in foo.R. This code has two
| functions FUN1 and FUN2. FUN1 calls FUN2. FUN1 is listed in export() under
| the package NAMESPACE but NOT FUN2. After building the package when I call
| FUN1 is giving me an error that cannot find FUN2.
Then you are doing something wrong in building, or possibly testing, the package.
"Everything within" can see everything else.
| I solved this by adding FUN2 in the export() NAMESPACE. However, what is
| puzzling me is that I have other examples similar to the above (i.e., one
| function calling another but only one exported) in the same package where I
| don't get the error message.
| Any idea of why that might be the case? My understanding is that export
We cannot tell without seeing the code.
I suggest you spend two minutes with package.skeleton(), create an empty
package, put something like these two functions in
multiply <- function(x, k) x * k
timestwo <- function(x) multiply(x, 2)
to convince yourself that timestwo() can in fact use multiply().
| only controls what is visible to the end user but functions not listed in
| export() are still "usable" within the package.
| In this case, the reason I'd like to avoid to export FUN2 is so I don't
| have to add it in the package documentation.
| Any guidance is much appreciated.
| [[alternative HTML version deleted]]
| R-devel at r-project.org mailing list
Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com
More information about the R-devel